1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \ 2caf759752b086ef30b6c564654b382d17fb0c16fWarren Hunt// RUN: | FileCheck %s 3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \ 4caf759752b086ef30b6c564654b382d17fb0c16fWarren Hunt// RUN: | FileCheck %s -check-prefix CHECK-X64 5caf759752b086ef30b6c564654b382d17fb0c16fWarren Hunt 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstruct T0 { char c; }; 7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstruct T2 : virtual T0 { }; 8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstruct T3 { T2 a[1]; char c; }; 9caf759752b086ef30b6c564654b382d17fb0c16fWarren Hunt 10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: *** Dumping AST Record Layout 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: *** Dumping AST Record Layout 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: *** Dumping AST Record Layout 13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-NEXT: 0 | struct T3 14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-NEXT: 0 | struct T2 [1] a 15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-NEXT: 5 | char c 16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-NEXT: | [sizeof=8, align=4 17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-NEXT: | nvsize=8, nvalign=4] 18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64: *** Dumping AST Record Layout 19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64: *** Dumping AST Record Layout 20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64: *** Dumping AST Record Layout 21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64-NEXT: 0 | struct T3 22651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64-NEXT: 0 | struct T2 [1] a 23651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64-NEXT: 16 | char c 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64-NEXT: | [sizeof=24, align=8 25651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK-X64-NEXT: | nvsize=24, nvalign=8] 26caf759752b086ef30b6c564654b382d17fb0c16fWarren Hunt 27caf759752b086ef30b6c564654b382d17fb0c16fWarren Huntint a[sizeof(T3)]; 28