(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
pr89222.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  void g (void);
       5  
       6  void f1 (int x)
       7  {
       8    if (x != (int) g + 3)
       9      return;
      10    g();
      11  }
      12  
      13  void (*a2)(void);
      14  
      15  void f2 (void)
      16  {
      17    a2 = &g + 3;
      18  }
      19  
      20  typedef void (*__sighandler_t)(int);
      21  void handler (int);
      22  
      23  void f3 (int x)
      24  {
      25    __sighandler_t h = &handler;
      26    if (h != (__sighandler_t) 2 && h != (__sighandler_t) 1)
      27      h (x);
      28  }
      29  
      30  /* { dg-final { scan-assembler-times {add(?:s)?\tr[0-9]+, r[0-9]+, #3} 2 } } */
      31  /* { dg-final { scan-assembler-not {.word\tg\+3} } } */
      32  /* { dg-final { scan-assembler-not {.word\thandler-1} } } */