[cfe-commits] r142697 - /cfe/trunk/test/Sema/ms_class_layout.cpp

Eli Friedman eli.friedman at gmail.com
Fri Oct 21 16:03:08 PDT 2011


Author: efriedma
Date: Fri Oct 21 18:03:08 2011
New Revision: 142697

URL: http://llvm.org/viewvc/llvm-project?rev=142697&view=rev
Log:
Add tests for CodeGen types in MS ABI.  Based on patch by r4start.


Modified:
    cfe/trunk/test/Sema/ms_class_layout.cpp

Modified: cfe/trunk/test/Sema/ms_class_layout.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/ms_class_layout.cpp?rev=142697&r1=142696&r2=142697&view=diff
==============================================================================
--- cfe/trunk/test/Sema/ms_class_layout.cpp (original)
+++ cfe/trunk/test/Sema/ms_class_layout.cpp Fri Oct 21 18:03:08 2011
@@ -89,6 +89,8 @@
 // CHECK-NEXT: sizeof=16, dsize=16, align=8
 // CHECK-NEXT: nvsize=16, nvalign=8
 
+// CHECK: %class.D = type { [8 x i8], double }
+
 // CHECK:       0 | class B
 // CHECK-NEXT:  0 |   (B vftable pointer)
 // CHECK-NEXT:  4 |   int b_field
@@ -96,6 +98,8 @@
 // CHECK-NEXT: sizeof=8, dsize=8, align=4
 // CHECK-NEXT: nvsize=8, nvalign=4
 
+// CHECK: %class.B = type { [4 x i8], i32 }
+
 // CHECK:       0 | class A
 // CHECK-NEXT:  0 |   class B (primary base)
 // CHECK-NEXT:  0 |     (B vftable pointer)
@@ -127,7 +131,12 @@
 
 // CHECK-NEXT: sizeof=80, dsize=80, align=8
 // CHECK-NEXT: nvsize=64, nvalign=8
- 
+
+// CHECK: %class.A = type { %class.B, i32, i8 }
+
+// CHECK: %class.C = type { %class.D, %class.B, [8 x i8], double, i32, double, i32, [4 x i8], %class.A }
+// CHECK: %class.C.base = type { %class.D, %class.B, [8 x i8], double, i32, double, i32 }
+
 // CHECK:       0 | struct BaseStruct
 // CHECK-NEXT:  0 |   double v0
 // CHECK-NEXT:  8 |   float v1
@@ -156,6 +165,8 @@
 // CHECK: sizeof=96, dsize=96, align=8
 // CHECK-NEXT: nvsize=96, nvalign=8
 
+// CHECK: %struct.BaseStruct = type { double, float, %class.C }
+
 // CHECK:       0 | struct DerivedStruct
 // CHECK-NEXT:  0 |   struct BaseStruct (base)
 // CHECK-NEXT:  0 |     double v0
@@ -185,6 +196,8 @@
 // CHECK-NEXT: sizeof=104, dsize=104, align=8
 // CHECK-NEXT: nvsize=104, nvalign=8
 
+// CHECK: %struct.DerivedStruct = type { %struct.BaseStruct, i32 }
+
 // CHECK:      0 | struct G
 // CHECK-NEXT: 0 |   int g_field
 // CHECK-NEXT: sizeof=4, dsize=4, align=4
@@ -200,6 +213,8 @@
 // CHECK-NEXT: sizeof=24, dsize=24, align=8
 // CHECK-NEXT: nvsize=8, nvalign=4
 
+// CHECK: %struct.H = type { %struct.G, [4 x i8], %class.D }
+
 // CHECK:       0 | struct I
 // CHECK-NEXT:  0 |   (I vftable pointer)
 // CHECK-NEXT:  8 |   (I vbtable pointer)
@@ -209,3 +224,6 @@
 // CHECK-NEXT: 32 |     double a
 // CHECK-NEXT: sizeof=40, dsize=40, align=8
 // CHECK-NEXT: nvsize=24, nvalign=8
+
+// CHECK: %struct.I = type { [16 x i8], double, %class.D }
+// CHECK: %struct.I.base = type { [16 x i8], double }





More information about the cfe-commits mailing list