1/* This testcase failed because - 1 - buf was simplified into ~buf and when 2 later expanding it back into - buf + -1, -1 got lost. */ 3/* { dg-options "-fgnu89-inline" } */ 4 5extern void abort (void); 6extern void exit (int); 7 8static void 9bar (int x) 10{ 11 if (!x) 12 abort (); 13} 14 15char buf[10]; 16 17inline char * 18foo (char *tmp) 19{ 20 asm ("" : "=r" (tmp) : "0" (tmp)); 21 return tmp + 2; 22} 23 24int 25main (void) 26{ 27 bar ((foo (buf) - 1 - buf) == 1); 28 exit (0); 29} 30