4874204.c   [plain text]


/* APPLE LOCAL file 4874204 */
/* { dg-do run } */
/* { dg-options "-O1" } */
typedef struct node
{
  struct node *p;
  unsigned     a : 12;
  unsigned     b : 8;
  unsigned     c : 9;
  unsigned     d : 1;
  unsigned     e : 1;
  unsigned     f : 1;
} T;

extern void abort (void);

void foo (T * tn, int n)
{
  tn->a = 0xfff;
  tn->b = 0xff;
  tn->c = n;
  tn->d = 1;
  tn->e = 1;
  tn->f = 1;
}

void bar (T * tn)
{
  int i;

  for (i = 0; i < tn->c; ++i)
    abort();
}

int main()
{
  T tn;
  foo (&tn, 0);
  bar (&tn);
  return 0;
}