diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-11-19 23:25:22 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-11-19 23:25:22 +0000 |
commit | deebf6efabfedb7dbe62b15feccfd94b1282105d (patch) | |
tree | aef341b71fde4f530e3fbdf5ee3f46223f386ed4 /clang/test/SemaTemplate/dependent-sized_array.cpp | |
parent | 36dd7d5f5c294fbe55ad59f0537e5f1aba93f46a (diff) | |
download | bcm5719-llvm-deebf6efabfedb7dbe62b15feccfd94b1282105d.tar.gz bcm5719-llvm-deebf6efabfedb7dbe62b15feccfd94b1282105d.zip |
Deduce a ConstantArrayType from a value-dependent initializer list
rather than punting to a DependentSizedArrayType, tightening up our
type checking for template definitions. Thanks, John!
llvm-svn: 89407
Diffstat (limited to 'clang/test/SemaTemplate/dependent-sized_array.cpp')
-rw-r--r-- | clang/test/SemaTemplate/dependent-sized_array.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/test/SemaTemplate/dependent-sized_array.cpp b/clang/test/SemaTemplate/dependent-sized_array.cpp index 77b2bdce30f..d221a4d276d 100644 --- a/clang/test/SemaTemplate/dependent-sized_array.cpp +++ b/clang/test/SemaTemplate/dependent-sized_array.cpp @@ -1,4 +1,4 @@ -// RUN: clang-cc -fsyntax-only -verify %s +// RUN: clang-cc -fsyntax-only -pedantic -verify %s template<int N> void f() { @@ -8,3 +8,10 @@ void f() { template void f<17>(); + +template<int N> +void f1() { + int a0[] = {}; // expected-warning{{zero}} + int a1[] = { 1, 2, 3, N }; + int a3[sizeof(a1)/sizeof(int) != 4? 1 : -1]; // expected-error{{negative}} +} |