// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 -pedantic -Werror %s int a1[] = { 1, 3, 5 }; void f() { int a2[] = { 1, 3, 5 }; } template <typename T> void tf() { T t; // Element type may be dependent T a3[] = { 1, 3, 5 }; // As might be the initializer list, value int a5[] = { sizeof(T) }; // or even type. int a6[] = { t.get() }; } // Allowed by GNU extension int a4[] = {}; // expected-error {{zero size arrays}} struct Incomplete; // expected-note {{forward declaration of 'Incomplete'}} struct A { Incomplete i; // expected-error {{field has incomplete type 'Incomplete'}} }; A a[] = { 0 }; // PR13971: don't hang.