summaryrefslogtreecommitdiffstats
path: root/llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-01-29 19:30:05 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-01-29 19:30:05 +0000
commita13e5146d4634dc18d98ac20f59147fcd213137b (patch)
tree3272b1a5c6ed37be1c8525001c41d6772f097cab /llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
parent032a5d2690af895812345b54e734df333bfc942e (diff)
downloadbcm5719-llvm-a13e5146d4634dc18d98ac20f59147fcd213137b.tar.gz
bcm5719-llvm-a13e5146d4634dc18d98ac20f59147fcd213137b.zip
Update this test case.
llvm-svn: 46526
Diffstat (limited to 'llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c')
-rw-r--r--llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c b/llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
index 4e04e5dfbc2..643caffb6d2 100644
--- a/llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
+++ b/llvm/test/CFrontend/2008-01-25-ZeroSizedAggregate.c
@@ -12,8 +12,7 @@ void test2411(void) {
checkx2411(a2411[0]);
}
-// A field that is an aggregates of size zero should be dropped during
-// type conversion.
+// Proper handling of zero sized fields during type conversion.
typedef unsigned long long int Tal2ullong __attribute__((aligned(2)));
struct S2525 {
Tal2ullong: 0;
@@ -29,3 +28,12 @@ struct {
char * i[5];
} data;
+// Taking address of a zero sized field.
+struct Z {};
+struct Y {
+ int i;
+ struct Z z;
+};
+void *f(struct Y *y) {
+ return &y->z;
+}
OpenPOWER on IntegriCloud