1 static const char messg[] = "def"; 2 3 static inline int add(int a, int b) 4 { 5 return a + b; 6 } 7 8 int foo(int a, int b) { return add(a + b, 1); } 9 void bar(int a, int b) { add(a + b, 1); } 10 11 12 static inline const char *lstrip(const char *str) 13 { 14 return str + 1; 15 } 16 17 const char *bas(void) { return lstrip("abc"); } 18 const char *qus(void) { return lstrip(messg); } 19 20 /* 21 * check-name: call-inlined 22 * check-command: test-linearize -Wno-decl -m64 $file 23 * check-assert: sizeof(void*) == 8 24 * 25 * check-output-start 26 foo: 27 .L0: 28 <entry-point> 29 add.32 %r3 <- %arg1, %arg2 30 add.32 %r5 <- %r3, $1 31 ret.32 %r5 32 33 34 bar: 35 .L3: 36 <entry-point> 37 ret 38 39 40 bas: 41 .L6: 42 <entry-point> 43 add.64 %r16 <- "abc", $1 44 ret.64 %r16 45 46 47 qus: 48 .L9: 49 <entry-point> 50 add.64 %r21 <- messg, $1 51 ret.64 %r21 52 53 54 * check-output-end 55 */