// 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}} }