// RUN: %clang_cc1 %s -Wno-pointer-to-int-cast -verify -fsyntax-only -ffreestanding
typedef void ;
void ;
// PR clang/3377
fp a = ;
int myArray = ;
int *myPointer2 = myArray;
int *myPointer = &;
extern int x;
void *g = &x;
int *h = &x;
;
int
// PR2050
;
int ;
struct cdiff_cmd commands = ;
// PR2348
static s;
int *t = &.z;
// PR2349
short *
int
// rdar://5870981
u = ;
// rdar://6156694
int
typedef void ;
void *bar = f3;
// PR2747
;
int sym_fw1a_scr = ;
// PR3001
struct s1 s2 =
// PR3382
char t = ;
// <rdar://problem/6094855>
typedef struct empty;
typedef struct st;
st st1 = ;
// <rdar://problem/6096826>
y = ;
int bbb;
;
struct foo2 bar2 = ;
struct foo2 bar3 = ; // expected-warning{{excess elements in struct initializer}}
struct foo2 bar3_silent = ;
int* ptest1 = ;
typedef int32_t ivector4 ;
ivector4 vtest1 = 1 ? : ;
ivector4 vtest2 = ;
uintptr_t ptrasintadd1 = &a - 4;
uintptr_t ptrasintadd2 = &a + 4;
uintptr_t ptrasintadd3 = 4 + &a;
// PR4285
const wchar_t widestr = L"asdf";
// PR5447
const double pr5447 = ? -1.0 : 0.0499878;
// PR4386
// None of these are constant initializers, but we implement GCC's old
// behaviour of accepting bar and zed but not foo. GCC's behaviour was
// changed in 2007 (rev 122551), so we should be able to change too one
// day.
int ;
int ;
int ;
int PR4386_a = != 0;
int PR4386_b = != 0; // expected-error{{initializer element is not a compile-time constant}}
int PR4386_c = != 0;
int ;
// <rdar://problem/10185490> (derived from SPEC vortex benchmark)
typedef char strty;
;
struct vortexstruct vortexvar = ;
typedef struct StructWithBitfield;
StructWithBitfield bitfieldvar = ; // expected-error {{initializer element is not a compile-time constant}}