1*8fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
2ad2956c2SDouglas Gregor 
3ad2956c2SDouglas Gregor template<int N>
4ad2956c2SDouglas Gregor void f() {
5ad2956c2SDouglas Gregor   int a[] = { 1, 2, 3, N };
6ad2956c2SDouglas Gregor   unsigned numAs = sizeof(a) / sizeof(int);
7ad2956c2SDouglas Gregor }
8ad2956c2SDouglas Gregor 
9ad2956c2SDouglas Gregor template void f<17>();
10ad2956c2SDouglas Gregor 
11deebf6efSDouglas Gregor 
12deebf6efSDouglas Gregor template<int N>
13deebf6efSDouglas Gregor void f1() {
14deebf6efSDouglas Gregor   int a0[] = {}; // expected-warning{{zero}}
15deebf6efSDouglas Gregor   int a1[] = { 1, 2, 3, N };
16deebf6efSDouglas Gregor   int a3[sizeof(a1)/sizeof(int) != 4? 1 : -1]; // expected-error{{negative}}
17deebf6efSDouglas Gregor }
18