]> granicus.if.org Git - clang/commitdiff
PR18417: Increase -ftemplate-depth to the value 1024 recommended by the C++
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 17 Aug 2016 21:41:45 +0000 (21:41 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 17 Aug 2016 21:41:45 +0000 (21:41 +0000)
standard's Annex B. We now attempt to increase the process's stack rlimit to
8MiB on startup, which appears to be enough to allow this to work reliably.
(And if it turns out not to be, we can investigate increasing it further.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@278983 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/LangOptions.def
lib/Frontend/CompilerInvocation.cpp

index 7a2bf24d3ae7c109a2cfc6559e136c33ce5c6207..764e9bcb8987d3b197e5056fb0aa42147a1b23f4 100644 (file)
@@ -235,7 +235,7 @@ ENUM_LANGOPT(SignedOverflowBehavior, SignedOverflowBehaviorTy, 2, SOB_Undefined,
 
 BENIGN_LANGOPT(ArrowDepth, 32, 256,
                "maximum number of operator->s to follow")
-BENIGN_LANGOPT(InstantiationDepth, 32, 256,
+BENIGN_LANGOPT(InstantiationDepth, 32, 1024,
                "maximum template instantiation depth")
 BENIGN_LANGOPT(ConstexprCallDepth, 32, 512,
                "maximum constexpr call depth")
index e19b612b6e79ab48001a21741230fe3113cf3f16..b1e985f077eeaab087ba2efe0975aba0c8e8dd85 100644 (file)
@@ -1910,7 +1910,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
   Opts.ElideConstructors = !Args.hasArg(OPT_fno_elide_constructors);
   Opts.MathErrno = !Opts.OpenCL && Args.hasArg(OPT_fmath_errno);
   Opts.InstantiationDepth =
-      getLastArgIntValue(Args, OPT_ftemplate_depth, 256, Diags);
+      getLastArgIntValue(Args, OPT_ftemplate_depth, 1024, Diags);
   Opts.ArrowDepth =
       getLastArgIntValue(Args, OPT_foperator_arrow_depth, 256, Diags);
   Opts.ConstexprCallDepth =