// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s
// expected-no-diagnostics

// PR3433
double g1;
short chk1[__alignof__(g1) == 8 ? 1 : -1]; 
short chk2[__alignof__(double) == 8 ? 1 : -1];

long long g2;
short chk1[__alignof__(g2) == 8 ? 1 : -1]; 
short chk2[__alignof__(long long) == 8 ? 1 : -1];

unsigned long long g5;
short chk1[__alignof__(g5) == 8 ? 1 : -1]; 
short chk2[__alignof__(unsigned long long) == 8 ? 1 : -1];

_Complex double g3;
short chk1[__alignof__(g3) == 8 ? 1 : -1]; 
short chk2[__alignof__(_Complex double) == 8 ? 1 : -1];

// PR6362
struct __attribute__((packed)) {unsigned int a;} g4;
short chk1[__alignof__(g4) == 1 ? 1 : -1];
short chk2[__alignof__(g4.a) == 1 ? 1 : -1];

double g6[3];
short chk1[__alignof__(g6) == 8 ? 1 : -1];
short chk2[__alignof__(double[3]) == 8 ? 1 : -1];

enum { x = 18446744073709551615ULL } g7;
short chk1[__alignof__(g7) == 8 ? 1 : -1];

// PR5637

#define ALIGNED(x) __attribute__((aligned(x)))

typedef ALIGNED(2) struct {
  char a[3];
} T;

short chk1[sizeof(T)       == 3 ? 1 : -1];
short chk2[sizeof(T[1])    == 4 ? 1 : -1];
short chk3[sizeof(T[2])    == 6 ? 1 : -1];
short chk4[sizeof(T[2][1]) == 8 ? 1 : -1];
short chk5[sizeof(T[1][2]) == 6 ? 1 : -1];

typedef struct ALIGNED(2) {
  char a[3];
} T2;

short chk1[sizeof(T2)       == 4 ? 1 : -1];
short chk2[sizeof(T2[1])    == 4 ? 1 : -1];
short chk3[sizeof(T2[2])    == 8 ? 1 : -1];
short chk4[sizeof(T2[2][1]) == 8 ? 1 : -1];
short chk5[sizeof(T2[1][2]) == 8 ? 1 : -1];
