1 /* { dg-do run } */ 2 /* { dg-options "-O2" } */ 3 #include <stdlib.h> 4 struct s { 5 unsigned short f: 16; 6 unsigned short y: 8; 7 unsigned short g: 2; 8 unsigned int x; 9 }; 10 11 void set (struct s*, int) __attribute__((noinline)); set(struct s * p,int flags)12void set (struct s* p, int flags) { 13 p->g = flags << 1; 14 } main()15main() { 16 struct s foo = {0 , 0, 3, 0}; 17 set (&foo, -1); 18 if (foo.g != 2) 19 abort(); 20 return 0; 21 } 22