LDC 1.15.0-beta1

Guillaume Piolat first.last at gmail.com
Mon Mar 11 11:42:22 UTC 2019


On Sunday, 10 March 2019 at 11:41:36 UTC, kinke wrote:
> On Sunday, 10 March 2019 at 02:05:37 UTC, Manu wrote:
>> Can you explain what this means:
>>
>> * Fix: functions annotated with `pragma(inline, true)` are
>> implicitly cross-module-inlined again.
>
> `pragma(inline, true)` functions have only been inlined in the 
> same compilation unit since LDC v1.1 (without explicit 
> `-enable-cross-module-inlining`). Now they are inlined across 
> compilation units again, as before v1.1 (and independent from 
> the -O level). E.g., this means that you don't need LTO to get 
> rid of calls to std.math trampolines for LLVM intrinsics such 
> as:
>
> pragma(inline, true)
> real fabs(real x) @safe pure nothrow @nogc { return 
> llvm_fabs(x); }

Thank you! For a while we've been forced to use `dub --combined` 
to have inlining (don't know why) but it used to work indeed. 
Very nice that we can build separately again.


More information about the Digitalmars-d-announce mailing list