1  /* { dg-do link } */
       2  /* { dg-require-effective-target int32plus } */
       3  /* { dg-options "-O -fdump-tree-copyprop2" } */
       4  
       5  #include <limits.h>
       6  enum { a } b();
       7  int d;
       8  int e;
       9  int f;
      10  void foo();
      11  [[gnu::noipa]]
      12  void bar49_(void){}
      13  [[gnu::noipa]]
      14  void(c)(void){}
      15  static short g(int h, int i) {
      16    int j = -1420678603, k = 1;
      17    if (h)
      18      for (; j < INT_MAX-18; j = j + 9) {
      19        f = 0;
      20        for (; f <= 1; c())
      21          k = 90;
      22      }
      23    i = k;
      24    for (; e; ++e) {
      25      if (i)
      26        continue;
      27      foo();
      28      i = b();
      29    }
      30    return 4;
      31  }
      32  int l() {
      33    bar49_();
      34    return 1;
      35  }
      36  int main() { d = d || g(d, l()); }
      37  
      38  /* { dg-final { scan-tree-dump-not "foo" "copyprop2" } } */