42 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -triple i686-linux-gnu %s -o /dev/null -emit-llvm2//3// This test's failure mode is running ~forever. (For some value of "forever"4// that's greater than 25 minutes on my machine)5 6template <typename... Ts>7struct Foo {8 template <typename... T>9 static void ignore() {}10 Foo() { ignore<Ts...>(); }11};12 13struct Base {14 Base();15 ~Base();16};17 18#define STAMP(thiz, prev) using thiz = Foo< \19 prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, \20 prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, \21 prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev, prev \22 >;23STAMP(A, Base);24STAMP(B, A);25STAMP(C, B);26STAMP(D, C);27STAMP(E, D);28STAMP(F, E);29STAMP(G, F);30STAMP(H, G);31STAMP(I, H);32STAMP(J, I);33STAMP(K, J);34STAMP(L, K);35STAMP(M, L);36STAMP(N, M);37STAMP(O, N);38STAMP(P, O);39STAMP(Q, P);40 41int main() { Q q; }42