From c748412c421fe8afc774d68b56f83d6f46f9e464 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 29 Jan 2008 19:30:05 +0000 Subject: [PATCH] Update this test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46526 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CFrontend/2008-01-25-ZeroSizedAggregate.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/test/CFrontend/2008-01-25-ZeroSizedAggregate.c b/test/CFrontend/2008-01-25-ZeroSizedAggregate.c index 4e04e5dfbc2..643caffb6d2 100644 --- a/test/CFrontend/2008-01-25-ZeroSizedAggregate.c +++ b/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; +}