1struct VEC_char_base 2{ 3 unsigned num; 4 unsigned alloc; 5 short vec[1]; 6}; 7 8short __attribute__((noinline)) 9foo (struct VEC_char_base *p, int i) 10{ 11 short *q; 12 p->vec[i] = 0; 13 q = &p->vec[8]; 14 *q = 1; 15 return p->vec[i]; 16} 17 18extern void abort (void); 19extern void *malloc (__SIZE_TYPE__); 20 21int 22main() 23{ 24 struct VEC_char_base *p = malloc (sizeof (struct VEC_char_base) + 256); 25 if (foo (p, 8) != 1) 26 abort (); 27 return 0; 28} 29