diff options
Diffstat (limited to 'gcc/testsuite/objc.dg/type-size-5.m')
-rw-r--r-- | gcc/testsuite/objc.dg/type-size-5.m | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/objc.dg/type-size-5.m b/gcc/testsuite/objc.dg/type-size-5.m new file mode 100644 index 000000000..d89af32b4 --- /dev/null +++ b/gcc/testsuite/objc.dg/type-size-5.m @@ -0,0 +1,22 @@ +/* Reject ivars that use flexible array members. */ +/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com> */ +/* { dg-do compile } */ + +typedef struct +{ + unsigned long int a; + double b[]; +} test_type; + +@interface Test +{ + double a[]; /* { dg-error "instance variable .a. has unknown size" } */ + struct { int x; double y[]; } b; /* { dg-error "instance variable .b. uses flexible array member" } */ + test_type c; /* { dg-error "instance variable .c. uses flexible array member" } */ + test_type d[4]; /* { dg-error "instance variable .d. uses flexible array member" } */ + union union_type { int x; test_type y; } e; /* { dg-error "instance variable .e. uses flexible array member" } */ +} +@end + +@implementation Test +@end |