1 // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s 2 3 template<int N> 4 void f() { 5 int a[] = { 1, 2, 3, N }; 6 unsigned numAs = sizeof(a) / sizeof(int); 7 } 8 9 template void f<17>(); 10 11 12 template<int N> 13 void f1() { 14 int a0[] = {}; // expected-warning{{zero}} 15 int a1[] = { 1, 2, 3, N }; 16 int a3[sizeof(a1)/sizeof(int) != 4? 1 : -1]; // expected-error{{negative}} 17 } 18 19 namespace PR13788 { 20 template <unsigned __N> 21 struct S { 22 int V; 23 }; 24 template <int N> 25 void foo() { 26 S<0> arr[N] = {{ 4 }}; 27 } 28 } 29