Note that there are some explanatory texts on larger screens.

plurals
  1. POc99 inline semantics with gcc (mspgcc)
    text
    copied!<p>I am writing a couple of functions that I would like to inline.</p> <p>Reading <a href="http://www.greenend.org.uk/rjk/tech/inline.html" rel="nofollow">here</a> and using the second c99 inline option with inline on all declarations and definitions, like so:</p> <pre><code>extern inline void SPFD54124B_write_cmd(uint16_t command); </code></pre> <p>in a header, and</p> <pre><code>inline void SPFD54124B_write_cmd(uint16_t command) { spi_write(command, CMD_WIDTH); } </code></pre> <p>in a corresponding c file. I was expecting to get inlined versions of the functions.</p> <p>But when I compile i get:</p> <pre><code>Generating dependencies dep/spi.d from src/spi.c Generating dependencies dep/spfd54124b.d from src/spfd54124b.c Generating dependencies dep/pomodoro.d from src/pomodoro.c Generating dependencies dep/font8x8_ualnum.d from src/font8x8_ualnum.c Generating dependencies dep/font8x8_basic.d from src/font8x8_basic.c Generating dependencies dep/evading_util.d from src/evading_util.c Compiling src/evading_util.c Compiling src/font8x8_basic.c Compiling src/font8x8_ualnum.c Compiling src/pomodoro.c src/spfd54124b.h:96:20: warning: inline function 'SPFD54124B_write_pixel' declared but never defined [enabled by default] src/spfd54124b.h:95:20: warning: inline function 'SPFD54124B_write_param' declared but never defined [enabled by default] src/spfd54124b.h:94:20: warning: inline function 'SPFD54124B_write_cmd' declared but never defined [enabled by default] src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/spfd54124b.h:96:20: warning: inline function 'SPFD54124B_write_pixel' declared but never defined [enabled by default] src/spfd54124b.h:95:20: warning: inline function 'SPFD54124B_write_param' declared but never defined [enabled by default] src/spfd54124b.h:94:20: warning: inline function 'SPFD54124B_write_cmd' declared but never defined [enabled by default] src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/pomodoro.c: In function 'main': src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:29:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:31:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:35:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:36:25: warning: called from here [-Winline] src/spfd54124b.h:96:20: warning: inlining failed in call to 'SPFD54124B_write_pixel': function body not available [-Winline] src/pomodoro.c:40:31: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:43:25: warning: called from here [-Winline] Compiling src/spfd54124b.c src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/spfd54124b.c: In function 'SPFD54124B_init': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_read': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:25:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:29:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_write_cmd': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_write_param': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_write_pixel': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_setrow': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_setcol': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_lputch': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spfd54124b.c: In function 'SPFD54124B_putch': src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:124:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] src/spi.h:22:20: warning: inlining failed in call to 'spi_write': function body not available [-Winline] src/spfd54124b.c:129:14: warning: called from here [-Winline] Compiling src/spi.c Linking bin/pomodoro.elf &gt;&gt;&gt;&gt; Size of Firmware &lt;&lt;&lt;&lt; text data bss dec hex filename 3150 0 2 3152 c50 bin/pomodoro.elf src/spfd54124b.h:96:20: warning: inline function 'SPFD54124B_write_pixel' declared but never defined [enabled by default] src/spfd54124b.h:95:20: warning: inline function 'SPFD54124B_write_param' declared but never defined [enabled by default] src/spfd54124b.h:94:20: warning: inline function 'SPFD54124B_write_cmd' declared but never defined [enabled by default] src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/spfd54124b.h:96:20: warning: inline function 'SPFD54124B_write_pixel' declared but never defined [enabled by default] src/spfd54124b.h:95:20: warning: inline function 'SPFD54124B_write_param' declared but never defined [enabled by default] src/spfd54124b.h:94:20: warning: inline function 'SPFD54124B_write_cmd' declared but never defined [enabled by default] src/spi.h:22:20: warning: inline function 'spi_write' declared but never defined [enabled by default] src/pomodoro.c: In function 'main': src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:29:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:31:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:35:25: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:36:25: warning: called from here [-Winline] src/spfd54124b.h:96:20: warning: inlining failed in call to 'SPFD54124B_write_pixel': function body not available [-Winline] src/pomodoro.c:40:31: warning: called from here [-Winline] src/spfd54124b.h:94:20: warning: inlining failed in call to 'SPFD54124B_write_cmd': function body not available [-Winline] src/pomodoro.c:43:25: warning: called from here [-Winline] </code></pre> <p>I'm not sure I understand the different inlining alternatives in c99.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload