1d0b4dd65SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++98 -emit-pch %s -o %t
2d0b4dd65SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++98 -include-pch %t -verify %s
3d0b4dd65SRichard Smith 
4d0b4dd65SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++11 -emit-pch %s -o %t-cxx11
5d0b4dd65SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++11 -include-pch %t-cxx11 -verify %s
6d0b4dd65SRichard Smith 
786c0d061SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++98 -emit-pch %s -o %t -fmodules
886c0d061SRichard Smith // RUN: %clang_cc1 -pedantic-errors -std=c++98 -include-pch %t -verify %s -fmodules
986c0d061SRichard Smith 
10d0b4dd65SRichard Smith #ifndef HEADER_INCLUDED
11d0b4dd65SRichard Smith 
12d0b4dd65SRichard Smith #define HEADER_INCLUDED
13d0b4dd65SRichard Smith extern const int a;
14d0b4dd65SRichard Smith const int b = a;
15d0b4dd65SRichard Smith 
16d0b4dd65SRichard Smith #else
17d0b4dd65SRichard Smith 
18d0b4dd65SRichard Smith const int a = 5;
19*552c6c23SRichard Smith typedef int T[b]; // expected-error 2{{variable length array}} expected-note {{initializer of 'b'}}
206f339367SRichard Smith // expected-note@14 {{here}}
21d0b4dd65SRichard Smith typedef int T[5];
22d0b4dd65SRichard Smith 
23d0b4dd65SRichard Smith #endif
24