modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/zerolen-1.c (about) 1 extern void abort (void); 2 extern void exit (int); 3 4 union iso_directory_record { 5 char carr[4]; 6 struct { 7 unsigned char name_len [1]; 8 char name [0]; 9 } u; 10 } entry; 11 12 void set(union iso_directory_record *); 13 14 int main (void) 15 { 16 union iso_directory_record *de; 17 18 de = &entry; 19 set(de); 20 21 if (de->u.name_len[0] == 1 && de->u.name[0] == 0) 22 exit (0); 23 else 24 abort (); 25 } 26 27 void set (union iso_directory_record *p) 28 { 29 p->carr[0] = 1; 30 p->carr[1] = 0; 31 return; 32 }