From 3f7244735a3d453efe4b14c6c1e106a296d5b54c Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 12 Dec 2013 02:24:20 +0000 Subject: * go-lang.c (go_langhook_post_options): Disable sibling calls by default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205915 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/go/ChangeLog | 5 +++++ gcc/go/go-lang.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 0c03656f6b4..db0212cd37d 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,8 @@ +2013-12-11 Ian Lance Taylor + + * go-lang.c (go_langhook_post_options): Disable sibling calls by + default. + 2013-12-10 Ian Lance Taylor * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c index d207a31f537..ae133f7ed2e 100644 --- a/gcc/go/go-lang.c +++ b/gcc/go/go-lang.c @@ -270,6 +270,10 @@ go_langhook_post_options (const char **pfilename ATTRIBUTE_UNUSED) if (flag_excess_precision_cmdline == EXCESS_PRECISION_DEFAULT) flag_excess_precision_cmdline = EXCESS_PRECISION_STANDARD; + /* Tail call optimizations can confuse uses of runtime.Callers. */ + if (!global_options_set.x_flag_optimize_sibling_calls) + global_options.x_flag_optimize_sibling_calls = 0; + /* Returning false means that the backend should be used. */ return false; } -- cgit v1.2.1