diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-01-26 00:35:43 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-01-26 00:35:43 +0000 |
commit | 6bccafdfae89ee0d21f60019050fbc477d618de0 (patch) | |
tree | 939a5fce43fdd35b28933302bc7c05296a632d63 | |
parent | 50d8e491a2c044efb9f7b5c0c223d29ea2dbf6cd (diff) |
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46382 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CFrontend/2008-01-25-ZeroSizedAggregate.c | 23 |
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 0000000000..67acb15de6 --- /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; |