1  /* { dg-do compile { target { nonpic || pie_enabled } } } */
       2  /* { dg-options "-O2 -fdump-tree-optimized" } */
       3  static int a;
       4  int f;
       5  void bar (void)  __attribute__((noinline));
       6  void bar (void)
       7  {
       8    f = 9;
       9  }
      10  
      11  void link_error ();
      12  
      13  int foo()
      14  {
      15    int b, c;
      16    a = 5;
      17    b = a;
      18    bar ();
      19    b = b + a;
      20    if (b != 10)
      21      link_error ();
      22    return b;
      23  }
      24  
      25  /* We should have removed the link_error on the tree level as GCC can tell that
      26     a is not touched by the calling bar at all. */
      27  /* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */