> Isn't the inline pragma

Sure. But I was more confused about the other statement:

> Many compilers do not support link time optimisations, at least not by 
> default, and even if they do, Nim doesn’t make use of such features yet

gcc and clang support LTO well, and Nim makes use of it of course. For gcc I 
have
    
    
    $ cat nim.cfg
    path:"$projectdir"
    nimcache:"/tmp/$projectdir"
    gcc.options.speed = "-march=native  -O3  -flto -fstrict-aliasing"
    
    

and it works out of the box. For clang we need the gold linker to make LTO work.

Inline pragma copies the C function into all the involved C files, to ensure 
that inlinening works over module boundaries even without LTO enabled for the C 
compiler.

But I still have to read the post more carefully, maybe I misunderstand 
something...

Reply via email to