http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56181
--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-13 09:28:36 UTC --- (In reply to comment #15) > The fix causes a build regression for mn10300: > > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions > -fno-rtti > -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings > -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long > -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. > -I. -I../../../../gcc/gcc -I../../../../gcc/gcc/. > -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include > -I../../../../gcc/gcc/../libdecnumber > -I../../../../gcc/gcc/../libdecnumber/dpd > -I../libdecnumber -I../../../../gcc/gcc/../libbacktrace \ > ../../../../gcc/gcc/config/mn10300/mn10300.c -o mn10300.o > ../../../../gcc/gcc/config/mn10300/mn10300.c: In function ‘void > mn10300_scan_for_setlb_lcc()’: > ../../../../gcc/gcc/config/mn10300/mn10300.c:3238:35: error: ISO C++ forbids > comparison between pointer and integer [-fpermissive] > make[2]: *** [mn10300.o] Error 1 > make[2]: Leaving directory `/home/vaxbuild/build/mn10300-linux/gcc-stage1/gcc' > make[1]: *** [all-gcc] Error 2 > make[1]: Leaving directory `/home/vaxbuild/build/mn10300-linux/gcc-stage1' > BUILDLOG: Execution result: 2, took 1152.871889203 sec for command make > all-gcc > install-gcc > BUILDLOG: Aborting execution > make: *** [cross-compiler] Error 2 > > > This happens because the fix changed flow_loops_find(): > > -int > +struct loops * > flow_loops_find (struct loops *loops) > > ...with the caller in the mn10300 backend not being changed. which seems to be broken anyway, as ... #if 0 /* FIXME: We should free the storage we allocated, but for some unknown reason this leads to seg-faults. */ FOR_EACH_LOOP (liter, loop, 0) free_simple_loop_desc (loop); flow_loops_free (current_loops); #endif I'll fix the build issue.