summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-12 02:24:20 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-12 02:24:20 +0000
commit3f7244735a3d453efe4b14c6c1e106a296d5b54c (patch)
tree40d5a801482e7189c260958afbec19c403b6520a
parenta4a14eb29309a20c3b21ed4fc79d9f29abf162bc (diff)
downloadgcc-3f7244735a3d453efe4b14c6c1e106a296d5b54c.tar.gz
* 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
-rw-r--r--gcc/go/ChangeLog5
-rw-r--r--gcc/go/go-lang.c4
2 files changed, 9 insertions, 0 deletions
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 <iant@google.com>
+
+ * go-lang.c (go_langhook_post_options): Disable sibling calls by
+ default.
+
2013-12-10 Ian Lance Taylor <iant@google.com>
* 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;
}