On 12/05/13 09:41, Ian Lance Taylor wrote:
On Thu, Dec 5, 2013 at 12:18 AM, Jan-Benedict Glaw <jbg...@lug-owl.de> wrote:
On Wed, 2013-12-04 20:19:29 -0700, Jeff Law <l...@redhat.com> wrote:
This patch splits up the erroneous path optimization into two
pieces. One which detects NULL dereferences and isolates those paths
and a second which detects passing/returning a NULL pointer in cases
where an attribute says a non-NULL value is required.
[...]
This seems to break Go, see eg.
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=50428 :
g++ -c -DDEFAULT_TARGET_VERSION=\"4.9.0\"
-DDEFAULT_TARGET_MACHINE=\"i686-pc-linux-gnu\" -DIN_GCC_FRONTEND -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 -Werror -fno-common -DHAVE_CONFIG_H -I. -Igo
-I../../../gcc/gcc -I../../../gcc/gcc/go -I../../../gcc/gcc/../include
-I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber
-I../../../gcc/gcc/../libdecnumber/bid -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o
go/go-lang.o -MT go/go-lang.o -MMD -MP -MF go/.deps/go-lang.TPo ../../../gcc/gcc/go/go-lang.c
../../../gcc/gcc/go/go-lang.c: In function ‘bool go_langhook_post_options(const
char**)’:
../../../gcc/gcc/go/go-lang.c:276:27: error: ‘struct gcc_options’ has no member
named ‘x_flag_isolate_erroneous_paths’
if (!global_options_set.x_flag_isolate_erroneous_paths)
^
../../../gcc/gcc/go/go-lang.c:277:20: error: ‘struct gcc_options’ has no member
named ‘x_flag_isolate_erroneous_paths’
global_options.x_flag_isolate_erroneous_paths = 0;
^
make[2]: *** [go/go-lang.o] Error 1
I've committed this patch to mainline to fix this problem. I could
have removed this code earlier but hadn't gotten around to it.
Sorry, I should have remembered that GO was going to need updating.
Q. Now that we're in stage3, presumably GO imports onto the trunk are
stopping? If so would it make sense to enable GO by default?
jeff