summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-02-14 00:19:28 +0000
committerDale Johannesen <dalej@apple.com>2009-02-14 00:19:28 +0000
commit6e1b2e36a5a8e27b07c9c3061621fe48d11fc031 (patch)
treef2145df9e7c02693a379aab12d583176fe5b1d85
parent10251c91a800e4cbd10b3c4c51b165801b92632d (diff)
downloadbcm5719-llvm-6e1b2e36a5a8e27b07c9c3061621fe48d11fc031.tar.gz
bcm5719-llvm-6e1b2e36a5a8e27b07c9c3061621fe48d11fc031.zip
Testcase for llvm-gcc 64510.
llvm-svn: 64511
-rw-r--r--llvm/test/FrontendC/2009-02-13-zerosize-union-field.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/FrontendC/2009-02-13-zerosize-union-field.c b/llvm/test/FrontendC/2009-02-13-zerosize-union-field.c
new file mode 100644
index 00000000000..044cbd5a556
--- /dev/null
+++ b/llvm/test/FrontendC/2009-02-13-zerosize-union-field.c
@@ -0,0 +1,13 @@
+// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 1} | count 1
+// RUN: %llvmgcc %s -m32 -S -o - | grep {i32 4} | count 2
+// 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));
+}
OpenPOWER on IntegriCloud