// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
// RUN:            | FileCheck %s
// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
// RUN:            | FileCheck %s

struct EmptyIntMemb {
  int FlexArrayMemb[0];
};
// CHECK:       *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyIntMemb
// CHECK-NEXT:  0 | int [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=4, align=4

struct EmptyLongLongMemb {
  long long FlexArrayMemb[0];
};
// CHECK: *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyLongLongMemb
// CHECK-NEXT:  0 | long long [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=4, align=8

struct EmptyAligned2LongLongMemb {
  long long __declspec(align(2)) FlexArrayMemb[0];
};

// CHECK: *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyAligned2LongLongMemb
// CHECK-NEXT:  0 | long long [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=4, align=8

struct EmptyAligned8LongLongMemb {
  long long __declspec(align(8)) FlexArrayMemb[0];
};

// CHECK: *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyAligned8LongLongMemb
// CHECK-NEXT:  0 | long long [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=8, align=8

#pragma pack(1)
struct __declspec(align(4)) EmptyPackedAligned4LongLongMemb {
  long long FlexArrayMemb[0];
};
#pragma pack()

// CHECK: *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyPackedAligned4LongLongMemb
// CHECK-NEXT:  0 | long long [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=4, align=4

#pragma pack(1)
struct EmptyPackedAligned8LongLongMemb {
  long long __declspec(align(8)) FlexArrayMemb[0];
};
#pragma pack()

// CHECK: *** Dumping AST Record Layout
// CHECK-NEXT:  0 | struct EmptyPackedAligned8LongLongMemb
// CHECK-NEXT:  0 | long long [0] FlexArrayMemb
// CHECK-NEXT:    | [sizeof=8, align=8


int a[
sizeof(struct EmptyIntMemb)+
sizeof(struct EmptyLongLongMemb)+
sizeof(struct EmptyAligned2LongLongMemb)+
sizeof(struct EmptyAligned8LongLongMemb)+
sizeof(struct EmptyPackedAligned4LongLongMemb)+
sizeof(struct EmptyPackedAligned8LongLongMemb)+
0];
