// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s template<int N> void f() { int a[] = { 1, 2, 3, N }; unsigned numAs = sizeof(a) / sizeof(int); } 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}} } namespace PR13788 { template <unsigned __N> struct S { int V; }; template <int N> void foo() { S<0> arr[N] = {{ 4 }}; } }