From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050720 Fedora/1.0.6-1.1.fc4 Firefox/1.0.6 Description of problem: When I try to compile Cedega from CVS I get the following error : gcc -MMD -c -I. -I. -I../../include -I../../include -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -fno-strict-aliasing -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o newstruc.o newstruc.c newstruc.c: In function handle_ani_list: newstruc.c:740: error: invalid lvalue in increment newstruc.c: In function new_ani_curico: newstruc.c:851: error: invalid lvalue in increment make[2]: *** [newstruc.o] Error 1 make[2]: Leaving directory `/Everything/winex/tools/wrc' make[1]: *** [wrc] Error 2 make[1]: Leaving directory `/Everything/winex/tools' make: *** [tools] Error 2 Compilation failed, aborting install. Version-Release number of selected component (if applicable): gcc-4.0.1-8 How reproducible: Always Steps to Reproduce: 1.Fetch Cedega from CVS {Checkout} 2.run this installation script ./tools/wineinstall Actual Results: gcc -MMD -c -I. -I. -I../../include -I../../include -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -fno-strict-aliasing -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o newstruc.o newstruc.c newstruc.c: In function handle_ani_list: newstruc.c:740: error: invalid lvalue in increment newstruc.c: In function new_ani_curico: newstruc.c:851: error: invalid lvalue in increment make[2]: *** [newstruc.o] Error 1 make[2]: Leaving directory `/Everything/winex/tools/wrc' make[1]: *** [wrc] Error 2 make[1]: Leaving directory `/Everything/winex/tools' make: *** [tools] Error 2 Compilation failed, aborting install. Expected Results: Compilation should have proceeded successfully and the make install process should take place. Additional info:
See http://gcc.gnu.org/gcc-4.0/changes.html * The cast-as-lvalue, conditional-expression-as-lvalue and compound-expression-as-lvalue extensions, which were deprecated in 3.3.4 and 3.4, have been removed. newstruct.c uses this extension (which has been known to be deprecated in 3.3/3.4 for almost 2 years now and have been removed in GCC 4.0): ((char *)rtp)++; It needs to be fixed, GCC is not going to change in this regard. rtp = (riff_tag_t *)((char *)rtp+1); does the same what the above statement used to do, and unlike the first one is valid ISO C.