1 /* { dg-do run } */ 2 /* tree inline used to split the block for inlining after the call, 3 then move the call to the after-the-call block. This move 4 temporarily deletes the assignment to the result, which in turn 5 resets any debug bind stmts referencing the result. Make sure we 6 don't do that, verifying that the result is visible after the call, 7 and when passed to another inline function. */ 8 /* { dg-options "-g" } */ 9 10 #define GUALITY_DONT_FORCE_LIVE_AFTER -1 11 12 #ifndef STATIC_INLINE 13 #define STATIC_INLINE /*static*/ 14 #endif 15 16 17 #include "guality.h" 18 19 __attribute__ ((always_inline)) static inline int t1(int i)20t1 (int i) 21 { 22 GUALCHKVAL (i); 23 return i; 24 } 25 __attribute__ ((always_inline)) static inline int t2(int i)26t2 (int i) 27 { 28 GUALCHKVAL (i); 29 return i - 42; 30 } 31 int main(int argc,char * argv[])32main (int argc, char *argv[]) 33 { 34 int i = t1(42); 35 GUALCHKVAL (i); 36 return t2(i); 37 } 38