aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2016-08-08 22:55:29 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2016-08-08 22:55:29 +0000
commit0717bdbfbd941c1b830fe11a21eff67dae04bdab (patch)
tree36b752cd7fa3d9897c3f58b892f0a8942e6ed389
parent895aa8e11319635104e6fa0dc1468fd6aec7b5b1 (diff)
downloadgcc-0717bdbfbd941c1b830fe11a21eff67dae04bdab.zip
gcc-0717bdbfbd941c1b830fe11a21eff67dae04bdab.tar.gz
gcc-0717bdbfbd941c1b830fe11a21eff67dae04bdab.tar.bz2
text/template: reduce maxExecDepth for gccgo further
We already lowered the limit of recursive template invocations from 100,000 to 10,000, but the tests still fail occasionally on x86_64-pc-linux-gnu when using GNU ld (so that split stacks are not fully functional). Reduce the limit further, to 1000, enough so that the test passes consistently. Permitting 1000 recursive template invocations still seems capacious enough for real world use. Reviewed-on: https://go-review.googlesource.com/25590 From-SVN: r239261
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/go/text/template/exec.go4
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index a8bc62c..8a0c76f 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-672db63f342c99bdc7ed46f040038440f429e600
+3b9c57a35370f26e6cf5839084e367e75e45ec97
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/libgo/go/text/template/exec.go b/libgo/go/text/template/exec.go
index 7cf7bb6..c7c6d50 100644
--- a/libgo/go/text/template/exec.go
+++ b/libgo/go/text/template/exec.go
@@ -19,9 +19,9 @@ import (
// templates. This limit is only practically reached by accidentally
// recursive template invocations. This limit allows us to return
// an error instead of triggering a stack overflow.
-// For gccgo we make this 10000 rather than 100000 to avoid stack overflow
+// For gccgo we make this 1000 rather than 100000 to avoid stack overflow
// on non-split-stack systems.
-const maxExecDepth = 10000
+const maxExecDepth = 1000
// state represents the state of an execution. It's not part of the
// template so that multiple executions of the same template