1  /* { dg-do compile } */
       2  /* { dg-options "-finline-functions" } */
       3  
       4  int k1, k2, k3, k4, k5, k6, k7, k8;
       5  
       6  void set_first_insn (int);
       7  void set_last_insn (void);
       8  
       9  static int make_insn_raw (void) 
      10  {
      11    set_first_insn (0);
      12    set_last_insn ();
      13    return k1;
      14  }
      15  
      16  static void add_insn_after (void)
      17  {
      18    if (k2)
      19      k3 = k4;
      20  
      21    if (k5)
      22      k6 = k7;
      23  }
      24  
      25  void emit_pattern_after_noloc (int (make_raw) (void)) 
      26  {
      27    if (k8)
      28      {
      29        make_raw ();
      30        add_insn_after ();
      31      }
      32  }
      33  
      34  void emit_insn_after_noloc (void)
      35  {
      36    emit_pattern_after_noloc (make_insn_raw);
      37  }
      38  
      39  void emit_debug_insn_before_setloc (int k9)
      40  {
      41    if (k9)
      42      make_insn_raw ();
      43  }