August 2017

When I try to flag a function as inline in C, gcc doesn't inline it.

Maybe it needs special flags to get functions inlined. I thought I passed all of them: -O3 -finline-functions. Maybe inline should be defined as a gcc attribute. Maybe past some threshold gcc doesn't do what it's told because it knows better.

After gcc I tried Clang. It couldn't link the code. I think it gets confused by macros when the last parameter passed to the macro is blank.

Surprised I tried tcc. It breaks with macros too.

Please fix this. If something as powerful as macros in C is broken, it's a sign of a bigger problem with programming languages.