(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
20060425-1.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O1" } */
       3  
       4  /* This failed because if conversion didn't handle insv patterns properly.  */
       5  
       6  void abort (void);
       7  
       8  union y
       9  {
      10    int a;
      11    unsigned short b;
      12  };
      13  
      14  void __attribute__ ((noinline))
      15  bar (unsigned short u, union y v)
      16  {
      17    if (u != 1)
      18      abort ();
      19  }
      20  
      21  void __attribute__ ((noinline))
      22  foo (int check)
      23  {
      24    union y x;
      25  
      26    if (check != 0)
      27      x.b = 1;
      28    else
      29      x.b = 2;
      30    bar (x.b, x);
      31  }
      32  
      33  int
      34  main ()
      35  {
      36    foo (1);
      37    return 0;
      38  }