1 extern void *memset (void *, int, unsigned long);
2 extern void abort (void);
3 
4 struct reg_stat {
5   void *last_death;
6   void *last_set;
7   void *last_set_value;
8   int   last_set_label;
9   char  last_set_sign_bit_copies;
10   int   last_set_mode : 8;
11   char  last_set_invalid;
12   char sign_bit_copies;
13   long nonzero_bits;
14 };
15 
16 static struct reg_stat *reg_stat;
17 
18 void __attribute__((noinline))
init_reg_last(void)19 init_reg_last (void)
20 {
21   memset (reg_stat, 0, __builtin_offsetof (struct reg_stat, sign_bit_copies));
22 }
23 
main(void)24 int main (void)
25 {
26   struct reg_stat r;
27 
28   reg_stat = &r;
29   r.nonzero_bits = -1;
30   init_reg_last ();
31   if (r.nonzero_bits != -1)
32     abort ();
33   return 0;
34 }
35