(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr48124-1.c
       1  /* { dg-do run } */
       2  /* { dg-options "-fno-toplevel-reorder" } */
       3  /* { dg-require-effective-target int32plus } */
       4  
       5  extern void abort (void);
       6  
       7  struct S
       8  {
       9    signed a : 26;
      10    signed b : 16;
      11    signed c : 10;
      12    volatile signed d : 14;
      13  };
      14  
      15  static struct S e = { 0, 0, 0, 1 };
      16  static int f = 1;
      17  
      18  void __attribute__((noinline))
      19  foo (void)
      20  {
      21    e.d = 0;
      22    f = 2;
      23  }
      24  
      25  int
      26  main ()
      27  {
      28    if (e.a || e.b || e.c || e.d != 1 || f != 1)
      29      abort ();
      30    foo ();
      31    if (e.a || e.b || e.c || e.d || f != 2)
      32      abort ();
      33    return 0;
      34  }