From: Ian Lance Taylor Date: Wed, 6 Nov 2013 15:14:28 +0000 (+0000) Subject: go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on... X-Git-Tag: upstream/12.2.0~66803 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d2217b6ab9ca6f2dd005e6f7ac22296532e6f61;p=platform%2Fupstream%2Fgcc.git go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on by an optimization option, turn it off. * go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on by an optimization option, turn it off. From-SVN: r204459 --- diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 70f3496..33ccc1c 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,9 @@ +2013-11-06 Ian Lance Taylor + + * go-lang.c (go_langhook_post_options): If + -fisolate-erroneous-paths was turned on by an optimization option, + turn it off. + 2013-10-14 Chris Manghane * go-gcc.cc (Gcc_backend::address_expression): New function. diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c index 37d61d1..14080f0 100644 --- a/gcc/go/go-lang.c +++ b/gcc/go/go-lang.c @@ -268,6 +268,12 @@ go_langhook_post_options (const char **pfilename ATTRIBUTE_UNUSED) if (flag_excess_precision_cmdline == EXCESS_PRECISION_DEFAULT) flag_excess_precision_cmdline = EXCESS_PRECISION_STANDARD; + /* The isolate_erroneous_paths optimization can change a nil + dereference from a panic to a trap, so we have to disable it for + Go, even though it is normally enabled by -O2. */ + if (!global_options_set.x_flag_isolate_erroneous_paths) + global_options.x_flag_isolate_erroneous_paths = 0; + /* Returning false means that the backend should be used. */ return false; }