title: Why the following function is not getting inlined?
body: <p>Can you please tell me why the following function func1 is not getting inlined?</p>
  
  <p><strong><em>Code</em></strong></p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  static inline int func1(int a) {
      return a*2;
  }
  
  int main(int argc, char **argv) {
  
      int value = strtol(argv[1], NULL, 0);
  
      value = func1(value);
  
      printf("value: %d\n", value);
  
      return 0;
  }
  </code></pre>
  
  <p><strong><em>Run</em></strong></p>
  
  <pre><code>$ gcc -Wall -o main main.c
  $ objdump -D main | grep func1
  0000000000000700 &lt;func1&gt;:
   742:   e8 b9 ff ff ff          callq  700 &lt;func1&gt;
  </code></pre>