The correct values here (as defined by gcc-4.2) are
authorDale Johannesen <dalej@apple.com>
Tue, 23 Jun 2009 18:42:26 +0000 (18:42 +0000)
committerDale Johannesen <dalej@apple.com>
Tue, 23 Jun 2009 18:42:26 +0000 (18:42 +0000)
different for ppc; add another version of the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73983 91177308-0d34-0410-b5e6-96231b3b80d8

test/FrontendC/2009-02-13-zerosize-union-field-ppc.c [new file with mode: 0644]
test/FrontendC/2009-02-13-zerosize-union-field.c

diff --git a/test/FrontendC/2009-02-13-zerosize-union-field-ppc.c b/test/FrontendC/2009-02-13-zerosize-union-field-ppc.c
new file mode 100644 (file)
index 0000000..947166d
--- /dev/null
@@ -0,0 +1,14 @@
+// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 32} | count 3
+// XFAIL: *
+// XTARGET: powerpc
+//  Every printf has 'i32 0' for the GEP of the string; no point counting those.
+typedef unsigned int Foo __attribute__((aligned(32)));
+typedef union{Foo:0;}a;
+typedef union{int x; Foo:0;}b;
+extern int printf(const char*, ...);
+main() {
+  printf("%ld\n", sizeof(a));
+  printf("%ld\n", __alignof__(a));
+  printf("%ld\n", sizeof(b));
+  printf("%ld\n", __alignof__(b));
+}
index 044cbd5a556775d3af70c2e229f73f149af984f3..ad335583d46fbaabde00af0d72c771f6e3efb9c8 100644 (file)
@@ -1,5 +1,6 @@
 // RUN: %llvmgcc %s -m32 -S -o - | grep {i32 1} | count 1
 // RUN: %llvmgcc %s -m32 -S -o - | grep {i32 4} | count 2
+// XFAIL: powerpc
 //  Every printf has 'i32 0' for the GEP of the string; no point counting those.
 typedef unsigned int Foo __attribute__((aligned(32)));
 typedef union{Foo:0;}a;