| 1 | // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -ftemplate-depth 16 -fcxx-exceptions -fexceptions %s |
| 2 | |
| 3 | template<int N> struct X { |
| 4 | static int go(int a) noexcept(noexcept(X<N+1>::go(a))); // \ |
| 5 | // expected-error {{recursive template instantiation exceeded maximum depth of 16}} \ |
| 6 | // expected-note 9{{in instantiation of exception specification}} \ |
| 7 | // expected-note {{skipping 7 context}} \ |
| 8 | // expected-note {{use -ftemplate-depth}} |
| 9 | }; |
| 10 | |
| 11 | void f() { |
| 12 | int k = X<0>::go(0); // \ |
| 13 | // expected-note {{in instantiation of exception specification for 'go' requested here}} |
| 14 | } |
| 15 | |