1extern void *memset (void *, int, unsigned long);
2extern void abort (void);
3
4struct 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
16static struct reg_stat *reg_stat;
17
18void __attribute__((noinline))
19init_reg_last (void)
20{
21  memset (reg_stat, 0, __builtin_offsetof (struct reg_stat, sign_bit_copies));
22}
23
24int 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