1 // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
2 
3 template<int N>
f()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>
f1()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>
foo()25   void foo() {
26     S<0> arr[N] = {{ 4 }};
27   }
28 }
29