llvm-project/clang/test/SemaTemplate/overloaded-functions.cpp

33 lines
696 B
C++

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