After a first attempt to fix the test-suite failures, my first recommit
caused the same failures again. I had updated CMakeList.txt files of
tests that needed -fcommon, but it turns out that there are also
Makefiles which are used by some bots, so I've updated these Makefiles
now too.
See the original commit message for more details on this change:
0a9fc9233e
69 lines
1.2 KiB
C
69 lines
1.2 KiB
C
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 -emit-llvm -o - %s | FileCheck %s
|
|
|
|
// PR4610
|
|
#pragma pack(4)
|
|
struct ref {
|
|
struct ref *next;
|
|
} refs;
|
|
|
|
// PR13580
|
|
struct S
|
|
{
|
|
char a[3];
|
|
#pragma pack(1)
|
|
struct T
|
|
{
|
|
char b;
|
|
int c;
|
|
} d;
|
|
#pragma pack()
|
|
struct T2
|
|
{
|
|
char b;
|
|
int c;
|
|
} d2;
|
|
} ss;
|
|
|
|
struct S3
|
|
{
|
|
char a[3];
|
|
#pragma pack(push, 2)
|
|
struct T3
|
|
{
|
|
char b;
|
|
int c;
|
|
} d;
|
|
#pragma pack(pop)
|
|
struct T32
|
|
{
|
|
char b;
|
|
int c;
|
|
} e;
|
|
} s3;
|
|
|
|
struct S4
|
|
{
|
|
char a[3];
|
|
#pragma align=packed
|
|
struct T4
|
|
{
|
|
char b;
|
|
int c;
|
|
} d;
|
|
int e;
|
|
} s4;
|
|
|
|
// CHECK: [[struct_ref:%[a-zA-Z0-9_.]+]] = type { [[struct_ref]]* }
|
|
// CHECK: [[struct_S:%[a-zA-Z0-9_.]+]] = type { [3 x i8], [[struct_T:%[a-zA-Z0-9_.]+]], [[struct_T2:%[a-zA-Z0-9_.]+]] }
|
|
// CHECK: [[struct_T]] = type <{ i8, i32 }>
|
|
// CHECK: [[struct_T2]] = type { i8, i32 }
|
|
|
|
// CHECK: %struct.S3 = type { [3 x i8], i8, %struct.T3, %struct.T32 }
|
|
// CHECK: %struct.T3 = type <{ i8, i8, i32 }>
|
|
// CHECK: %struct.T32 = type { i8, i32 }
|
|
// CHECK: %struct.S4 = type { [3 x i8], %struct.T4, i32 }
|
|
// CHECK: %struct.T4 = type <{ i8, i32 }>
|
|
|
|
// CHECK: @refs = global [[struct_ref]]
|
|
// CHECK: @ss = global [[struct_S]]
|