(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
20041008-1.c
       1  /* { dg-do run } */ 
       2  /* { dg-options "-O2 -std=gnu89" } */
       3  
       4  struct A {
       5      int x;
       6      int y;
       7  };
       8  
       9  baz (struct A *a)
      10  {
      11    a->x = 3;
      12    a->y = 2;
      13  }
      14  
      15  foo (int i)
      16  {
      17    struct A a;
      18  
      19    /* Make sure we can't scalarize 'a'.  */
      20    baz (&a);
      21  
      22    if (i > 10)
      23      a.x = i;
      24    else
      25      a.x = i;
      26  
      27    /* Copy propagation should prove that this predicate is always false.  */
      28    if (a.x != i)
      29      link_error ();
      30  
      31    return a.x;
      32  }
      33  
      34  main ()
      35  {
      36    foo (30);
      37    return 0;
      38  }