From 6bccafdfae89ee0d21f60019050fbc477d618de0 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Sat, 26 Jan 2008 00:35:43 +0000 Subject: [PATCH] New test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46382 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../CFrontend/2008-01-25-ZeroSizedAggregate.c | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/CFrontend/2008-01-25-ZeroSizedAggregate.c diff --git a/test/CFrontend/2008-01-25-ZeroSizedAggregate.c b/test/CFrontend/2008-01-25-ZeroSizedAggregate.c new file mode 100644 index 00000000000..67acb15de62 --- /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;