1struct fd
2{
3	unsigned char a;
4	unsigned char b;
5} f = { 5 };
6
7struct fd *g() { return &f; }
8int h() { return -1; }
9
10int 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