Clang Project

clang_source_code/test/SemaTemplate/instantiation-depth-default.cpp
1// RUN: %clang_cc1 -fsyntax-only -verify -ftemplate-backtrace-limit 2 %s
2//
3// FIXME: Disable this test when Clang was built with ASan, because ASan
4// increases our per-frame stack usage enough that this test no longer fits
5// within our normal stack space allocation.
6// REQUIRES: not_asan
7
8template<int N, typename T> struct X : X<N+1, T*> {};
9// expected-error-re@8 {{recursive template instantiation exceeded maximum depth of 1024{{$}}}}
10// expected-note@8 {{instantiation of template class}}
11// expected-note@8 {{skipping 1023 contexts in backtrace}}
12// expected-note@8 {{use -ftemplate-depth=N to increase recursive template instantiation depth}}
13
14X<0, int> x; // expected-note {{in instantiation of}}
15
16// FIXME: It crashes. Investigating.
17// UNSUPPORTED: windows-gnu
18