aboutsummaryrefslogtreecommitdiffstats
path: root/test/CFrontend
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-01-26 00:35:43 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-01-26 00:35:43 +0000
commit9ac40e6b8495fec8a9531d5062bcc43162549ff3 (patch)
tree939a5fce43fdd35b28933302bc7c05296a632d63 /test/CFrontend
parent20e5390238ef213139bf402ba5bb484c8d4ed9b4 (diff)
downloadexternal_llvm-9ac40e6b8495fec8a9531d5062bcc43162549ff3.zip
external_llvm-9ac40e6b8495fec8a9531d5062bcc43162549ff3.tar.gz
external_llvm-9ac40e6b8495fec8a9531d5062bcc43162549ff3.tar.bz2
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46382 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CFrontend')
-rw-r--r--test/CFrontend/2008-01-25-ZeroSizedAggregate.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CFrontend/2008-01-25-ZeroSizedAggregate.c b/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
new file mode 100644
index 0000000..67acb15
--- /dev/null
+++ b/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
@@ -0,0 +1,23 @@
+// RUN: %llvmgcc %s -S -o -
+
+// Aggregates of size zero should be dropped from argument list.
+typedef long int Tlong;
+struct S2411 {
+ __attribute__((aligned)) Tlong:0;
+};
+
+extern struct S2411 a2411[5];
+extern void checkx2411(struct S2411);
+void test2411(void) {
+ checkx2411(a2411[0]);
+}
+
+// A field that is an aggregates of size zero should be dropped during
+// type conversion.
+typedef unsigned long long int Tal2ullong __attribute__((aligned(2)));
+struct S2525 {
+ Tal2ullong: 0;
+ struct {
+ } e;
+};
+struct S2525 s2525;