1 struct fd 2 { 3 unsigned char a; 4 unsigned char b; 5 } f = { 5 }; 6 g()7 struct fd *g() { return &f; } h()8 int h() { return -1; } 9 main()10 int main() 11 { 12 struct fd *f = g(); 13 f->b = h(); 14 if (((f->a & 0x7f) & ~0x10) <= 2) 15 abort (); 16 exit (0); 17 } 18