aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-lang.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2013-12-12 02:24:20 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2013-12-12 02:24:20 +0000
commit0fdd268fbfecb7956d13bff1ce60ef29f4b9d931 (patch)
tree40d5a801482e7189c260958afbec19c403b6520a /gcc/go/go-lang.c
parent547a4168791b7ae9543215aba3ca6184c31bb37e (diff)
downloadgcc-0fdd268fbfecb7956d13bff1ce60ef29f4b9d931.zip
gcc-0fdd268fbfecb7956d13bff1ce60ef29f4b9d931.tar.gz
gcc-0fdd268fbfecb7956d13bff1ce60ef29f4b9d931.tar.bz2
go-lang.c (go_langhook_post_options): Disable sibling calls by default.
* go-lang.c (go_langhook_post_options): Disable sibling calls by default. From-SVN: r205915
Diffstat (limited to 'gcc/go/go-lang.c')
-rw-r--r--gcc/go/go-lang.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c
index d207a31..ae133f7 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;
}