28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
 | 
						|
// RUN:            | FileCheck %s
 | 
						|
// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
 | 
						|
// RUN:            | FileCheck %s -check-prefix CHECK-X64
 | 
						|
 | 
						|
struct T0 { char c; };
 | 
						|
struct T2 : virtual T0 { };
 | 
						|
struct T3 { T2 a[1]; char c; };
 | 
						|
 | 
						|
// CHECK: *** Dumping AST Record Layout
 | 
						|
// CHECK: *** Dumping AST Record Layout
 | 
						|
// CHECK: *** Dumping AST Record Layout
 | 
						|
// CHECK-NEXT:    0 | struct T3
 | 
						|
// CHECK-NEXT:    0 |   struct T2 [1] a
 | 
						|
// CHECK-NEXT:    5 |   char c
 | 
						|
// CHECK-NEXT:      | [sizeof=8, align=4
 | 
						|
// CHECK-NEXT:      |  nvsize=8, nvalign=4]
 | 
						|
// CHECK-X64: *** Dumping AST Record Layout
 | 
						|
// CHECK-X64: *** Dumping AST Record Layout
 | 
						|
// CHECK-X64: *** Dumping AST Record Layout
 | 
						|
// CHECK-X64-NEXT:    0 | struct T3
 | 
						|
// CHECK-X64-NEXT:    0 |   struct T2 [1] a
 | 
						|
// CHECK-X64-NEXT:   16 |   char c
 | 
						|
// CHECK-X64-NEXT:      | [sizeof=24, align=8
 | 
						|
// CHECK-X64-NEXT:      |  nvsize=24, nvalign=8]
 | 
						|
 | 
						|
int a[sizeof(T3)];
 |