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