1 /* PR c/6660 2 Test whether an unnamed field with user defined type - struct or union is 3 accepted. */ 4 /* { dg-do compile } */ 5 /* { dg-options "-fms-extensions" } */ 6 7 typedef struct { 8 unsigned short a; 9 unsigned short b; 10 } __attribute__ ((__packed__)) A; 11 12 typedef struct B_ { 13 unsigned int c; 14 unsigned int d; 15 } B; 16 17 typedef struct C_ { 18 B; 19 unsigned int e; 20 unsigned int f; 21 } C; 22 23 typedef C D; 24 25 typedef struct { 26 A; 27 D; 28 struct { 29 unsigned short g; 30 unsigned short h; 31 } __attribute__ ((__packed__)); 32 union { 33 int i; 34 long j; 35 }; 36 int k; 37 } __attribute__ ((__packed__)) E; 38 39 E x; 40 foo(void)41void foo (void) 42 { 43 x.a = 1; 44 x.b = 2; 45 x.c = 3; 46 x.d = 4; 47 x.e = 5; 48 x.f = 6; 49 x.g = 7; 50 x.h = 8; 51 x.i = 9; 52 x.j = 10; 53 x.k = 11; 54 } 55