diff options
author | John McCall <rjmccall@apple.com> | 2015-08-19 22:42:36 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2015-08-19 22:42:36 +0000 |
commit | 0d461693b6c7944119d6384d3a38d6c675815317 (patch) | |
tree | 98fada608f180b92a79fa33a13e13d0038007d95 /clang/test/Layout/ms-x86-alias-avoidance-padding.cpp | |
parent | 10ac1f98faab6029201867e8c409de2f0200283c (diff) | |
download | bcm5719-llvm-0d461693b6c7944119d6384d3a38d6c675815317.tar.gz bcm5719-llvm-0d461693b6c7944119d6384d3a38d6c675815317.zip |
Fix the layout of bitfields in ms_struct unions: their
alignment is ignored, and they always allocate a complete
storage unit.
Also, change the dumping of AST record layouts: use the more
readable C++-style dumping even in C, include bitfield offset
information in the dump, and don't print sizeof/alignof
information for fields of record type, since we don't do so
for bases or other kinds of field.
rdar://22275433
llvm-svn: 245514
Diffstat (limited to 'clang/test/Layout/ms-x86-alias-avoidance-padding.cpp')
-rw-r--r-- | clang/test/Layout/ms-x86-alias-avoidance-padding.cpp | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/clang/test/Layout/ms-x86-alias-avoidance-padding.cpp b/clang/test/Layout/ms-x86-alias-avoidance-padding.cpp index 1d77bf9e906..203927b69a8 100644 --- a/clang/test/Layout/ms-x86-alias-avoidance-padding.cpp +++ b/clang/test/Layout/ms-x86-alias-avoidance-padding.cpp @@ -391,8 +391,6 @@ struct RZ3 : RX3, RY {}; // CHECK-NEXT: 0 | struct RA (base) (empty) // CHECK-NEXT: 0 | struct RB a // CHECK-NEXT: 0 | char c -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=1, nvalign=1] // CHECK-NEXT: 1 | struct RY (base) (empty) // CHECK-NEXT: | [sizeof=1, align=1 // CHECK-NEXT: | nvsize=1, nvalign=1] @@ -403,8 +401,6 @@ struct RZ3 : RX3, RY {}; // CHECK-X64-NEXT: 0 | struct RA (base) (empty) // CHECK-X64-NEXT: 0 | struct RB a // CHECK-X64-NEXT: 0 | char c -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=1, nvalign=1] // CHECK-X64-NEXT: 1 | struct RY (base) (empty) // CHECK-X64-NEXT: | [sizeof=1, align=1 // CHECK-X64-NEXT: | nvsize=1, nvalign=1] @@ -415,8 +411,6 @@ struct RZ4 : RX4, RY {}; // CHECK-NEXT: 0 | struct RZ4 // CHECK-NEXT: 0 | struct RX4 (base) // CHECK-NEXT: 0 | struct RA a (empty) -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=0, nvalign=1] // CHECK-NEXT: 1 | char b // CHECK-NEXT: 3 | struct RY (base) (empty) // CHECK-NEXT: | [sizeof=3, align=1 @@ -426,8 +420,6 @@ struct RZ4 : RX4, RY {}; // CHECK-X64-NEXT: 0 | struct RZ4 // CHECK-X64-NEXT: 0 | struct RX4 (base) // CHECK-X64-NEXT: 0 | struct RA a (empty) -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=0, nvalign=1] // CHECK-X64-NEXT: 1 | char b // CHECK-X64-NEXT: 3 | struct RY (base) (empty) // CHECK-X64-NEXT: | [sizeof=3, align=1 @@ -439,12 +431,8 @@ struct RZ5 : RX5, RY {}; // CHECK-NEXT: 0 | struct RZ5 // CHECK-NEXT: 0 | struct RX5 (base) // CHECK-NEXT: 0 | struct RA a (empty) -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=0, nvalign=1] // CHECK-NEXT: 1 | struct RB b // CHECK-NEXT: 1 | char c -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=1, nvalign=1] // CHECK-NEXT: 2 | struct RY (base) (empty) // CHECK-NEXT: | [sizeof=2, align=1 // CHECK-NEXT: | nvsize=2, nvalign=1] @@ -453,12 +441,8 @@ struct RZ5 : RX5, RY {}; // CHECK-X64-NEXT: 0 | struct RZ5 // CHECK-X64-NEXT: 0 | struct RX5 (base) // CHECK-X64-NEXT: 0 | struct RA a (empty) -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=0, nvalign=1] // CHECK-X64-NEXT: 1 | struct RB b // CHECK-X64-NEXT: 1 | char c -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=1, nvalign=1] // CHECK-X64-NEXT: 2 | struct RY (base) (empty) // CHECK-X64-NEXT: | [sizeof=2, align=1 // CHECK-X64-NEXT: | nvsize=2, nvalign=1] @@ -472,8 +456,6 @@ struct RZ6 : RX6, RY {}; // CHECK-NEXT: 0 | (RX6 vbtable pointer) // CHECK-NEXT: 4 | struct RB a // CHECK-NEXT: 4 | char c -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=1, nvalign=1] // CHECK-NEXT: 9 | struct RY (base) (empty) // CHECK-NEXT: 12 | struct RV (virtual base) (empty) // CHECK-NEXT: | [sizeof=12, align=4 @@ -486,8 +468,6 @@ struct RZ6 : RX6, RY {}; // CHECK-X64-NEXT: 0 | (RX6 vbtable pointer) // CHECK-X64-NEXT: 8 | struct RB a // CHECK-X64-NEXT: 8 | char c -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=1, nvalign=1] // CHECK-X64-NEXT: 17 | struct RY (base) (empty) // CHECK-X64-NEXT: 24 | struct RV (virtual base) (empty) // CHECK-X64-NEXT: | [sizeof=24, align=8 @@ -501,8 +481,6 @@ struct RZ7 : RX7, RY {}; // CHECK-NEXT: 0 | struct RX7 (base) // CHECK-NEXT: 0 | (RX7 vbtable pointer) // CHECK-NEXT: 4 | struct RA a (empty) -// CHECK-NEXT: | [sizeof=1, align=1 -// CHECK-NEXT: | nvsize=0, nvalign=1] // CHECK-NEXT: 8 | struct RY (base) (empty) // CHECK-NEXT: 8 | struct RW (virtual base) // CHECK-NEXT: 8 | char c @@ -515,8 +493,6 @@ struct RZ7 : RX7, RY {}; // CHECK-X64-NEXT: 0 | struct RX7 (base) // CHECK-X64-NEXT: 0 | (RX7 vbtable pointer) // CHECK-X64-NEXT: 8 | struct RA a (empty) -// CHECK-X64-NEXT: | [sizeof=1, align=1 -// CHECK-X64-NEXT: | nvsize=0, nvalign=1] // CHECK-X64-NEXT: 16 | struct RY (base) (empty) // CHECK-X64-NEXT: 16 | struct RW (virtual base) // CHECK-X64-NEXT: 16 | char c |