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  */