(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr42878-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-fcompare-debug" } */
       3  
       4  extern void error(void) __attribute__((noreturn));
       5  
       6  struct S {
       7    struct S *s;
       8  };
       9  
      10  static inline unsigned char f2()
      11  {
      12    error();
      13  }
      14  
      15  static inline void f1()
      16  {
      17    int builtin_optab;
      18    if (!f2() && builtin_optab)
      19      error();
      20  }
      21  
      22  extern void f4(struct S *s);
      23  
      24  static inline void f3(struct S *s)
      25  {
      26    f4(s->s->s);
      27  }
      28  
      29  void expand_builtin(struct S *s, int cond)
      30  {
      31    if (cond)
      32      f1();
      33    f3(s);
      34  }