blob: 6fdcaa63e5ad5ea3f2ddb68cd2628a1b2bfe42f2 [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
Douglas Gregorad2956c2009-11-19 18:03:26 +00002
3template<int N>
4void f() {
5 int a[] = { 1, 2, 3, N };
6 unsigned numAs = sizeof(a) / sizeof(int);
7}
8
9template void f<17>();
10
Douglas Gregordeebf6e2009-11-19 23:25:22 +000011
12template<int N>
13void 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}
Richard Smithde63d362012-11-09 23:03:14 +000018
19namespace 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}