1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 -pedantic -Werror  %s
2 int a1[] = { 1, 3, 5 };
3 void f() {
4   int a2[] = { 1, 3, 5 };
5 }
6 template <typename T>
7 void tf() {
8   T t;
9   // Element type may be dependent
10   T a3[] = { 1, 3, 5 };
11   // As might be the initializer list, value
12   int a5[] = { sizeof(T) };
13   // or even type.
14   int a6[] = { t.get() };
15 }
16 
17 // Allowed by GNU extension
18 int a4[] = {}; // expected-error {{zero size arrays}}
19 
20 struct Incomplete; // expected-note {{forward declaration of 'Incomplete'}}
21 struct A {
22   Incomplete i; // expected-error {{field has incomplete type 'Incomplete'}}
23 };
24 A a[] = { 0 }; // PR13971: don't hang.
25