1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 namespace { 4 template <bool, typename> 5 void Foo() {} 6 7 template <int size> 8 void Foo() { 9 int arr[size]; 10 // expected-error@-1 {{'arr' declared as an array with a negative size}} 11 } 12 } 13 14 void test_foo() { 15 Foo<-1>(); 16 // expected-note@-1 {{in instantiation of function template specialization '(anonymous namespace)::Foo<-1>' requested here}} 17 } 18 19 template <bool, typename> 20 void Bar() {} 21 22 template <int size> 23 void Bar() { 24 int arr[size]; 25 // expected-error@-1 {{'arr' declared as an array with a negative size}} 26 } 27 28 void test_bar() { 29 Bar<-1>(); 30 // expected-note@-1 {{in instantiation of function template specialization 'Bar<-1>' requested here}} 31 } 32 33