1  /* PR target/32338 */
       2  /* { dg-do link } */
       3  /* { dg-options "-O2 -fno-omit-frame-pointer" } */
       4  
       5  struct S
       6  {
       7  };
       8  
       9  int
      10  __attribute__((noinline))
      11  foo (void)
      12  {
      13    return 2;
      14  }
      15  
      16  int
      17  __attribute__((noinline))
      18  bar (void)
      19  {
      20    return 4;
      21  }
      22  
      23  int
      24  __attribute__((noinline))
      25  fnl (void)
      26  {
      27    return 6;
      28  }
      29  
      30  int
      31  __attribute__((noinline))
      32  baz (void)
      33  {
      34    unsigned int len;
      35    len = fnl ();
      36    if (len > 512)
      37      return bar ();
      38    return foo ();
      39  }
      40  
      41  int
      42  main (int argc, char *argv[])
      43  {
      44    if (argc > 30)
      45      return baz ();
      46    return 0;
      47  }