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 | 9ac40e6b8495fec8a9531d5062bcc43162549ff3 (patch) | |
tree | 939a5fce43fdd35b28933302bc7c05296a632d63 /test/CFrontend | |
parent | 20e5390238ef213139bf402ba5bb484c8d4ed9b4 (diff) | |
download | external_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.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 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; |