summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/instantiation-depth-defarg.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-07-15 23:29:50 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-07-15 23:29:50 +0000
commitf5baeb4af53b79a0d92a4ab7b7eba19bd721f344 (patch)
treeaf42ab187a2c7c77a4f8032074466c1693beeb74 /test/SemaTemplate/instantiation-depth-defarg.cpp
parent6bebe5aca3c45c741303dd0ae12d0225bddbe2e6 (diff)
downloadclang-f5baeb4af53b79a0d92a4ab7b7eba19bd721f344.tar.gz
PR13368: Halve the instantiation depth of this test again. Apparently, FreeBSD
has a much lower default stack limit than the systems I have access to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160240 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/instantiation-depth-defarg.cpp')
-rw-r--r--test/SemaTemplate/instantiation-depth-defarg.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/test/SemaTemplate/instantiation-depth-defarg.cpp b/test/SemaTemplate/instantiation-depth-defarg.cpp
index 6032a33514..6550987de7 100644
--- a/test/SemaTemplate/instantiation-depth-defarg.cpp
+++ b/test/SemaTemplate/instantiation-depth-defarg.cpp
@@ -1,11 +1,11 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -ftemplate-depth 256 -ftemplate-backtrace-limit 4 %s
+// RUN: %clang_cc1 -fsyntax-only -verify -ftemplate-depth 128 -ftemplate-backtrace-limit 4 %s
template<int N> struct S {
typedef typename S<N-1>::type type;
static int f(int n = S<N-1>::f()); // \
-// expected-error{{recursive template instantiation exceeded maximum depth of 256}} \
+// expected-error{{recursive template instantiation exceeded maximum depth of 128}} \
// expected-note 3 {{instantiation of default function argument}} \
-// expected-note {{skipping 253 contexts in backtrace}} \
+// expected-note {{skipping 125 contexts in backtrace}} \
// expected-note {{use -ftemplate-depth=N to increase recursive template instantiation depth}}
};
@@ -14,13 +14,21 @@ template<> struct S<0> {
};
// Incrementally instantiate up to S<2048>.
+template struct S<128>;
template struct S<256>;
+template struct S<384>;
template struct S<512>;
+template struct S<640>;
template struct S<768>;
+template struct S<896>;
template struct S<1024>;
+template struct S<1152>;
template struct S<1280>;
+template struct S<1408>;
template struct S<1536>;
+template struct S<1664>;
template struct S<1792>;
+template struct S<1920>;
template struct S<2048>;
// Check that we actually bail out when we hit the instantiation depth limit for