(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr25654.c
       1  /* { dg-do run } */
       2  
       3  extern void abort (void) __attribute__((noreturn));
       4  
       5  union setconflict
       6  {
       7    short a[20];
       8    int b[10];
       9  };
      10  
      11  int
      12  main ()
      13  {
      14    int sum = 0;
      15    {
      16      union setconflict a;
      17      short *c;
      18      c = a.a;
      19      asm ("": "=r" (c):"0" (c));
      20      *c = 0;
      21      asm ("": "=r" (c):"0" (c));
      22      sum += *c;
      23    }
      24    {
      25      union setconflict a;
      26      int *c;
      27      c = a.b;
      28      asm ("": "=r" (c):"0" (c));
      29      *c = 1;
      30      asm ("": "=r" (c):"0" (c));
      31      sum += *c;
      32    }
      33  
      34    if (sum != 1)
      35      abort();
      36    return 0;
      37  }