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.

Reply via email to