| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| |
| namespace { |
| template <bool, typename> |
| void Foo() {} |
| |
| template <int size> |
| void Foo() { |
| int arr[size]; |
| // expected-error@-1 {{'arr' declared as an array with a negative size}} |
| } |
| } |
| |
| void test_foo() { |
| Foo<-1>(); |
| // expected-note@-1 {{in instantiation of function template specialization '(anonymous namespace)::Foo<-1>' requested here}} |
| } |
| |
| template <bool, typename> |
| void Bar() {} |
| |
| template <int size> |
| void Bar() { |
| int arr[size]; |
| // expected-error@-1 {{'arr' declared as an array with a negative size}} |
| } |
| |
| void test_bar() { |
| Bar<-1>(); |
| // expected-note@-1 {{in instantiation of function template specialization 'Bar<-1>' requested here}} |
| } |
| |