Function attribute deduction depends on compile invocation

Johan Engelen via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 14 09:53:43 PDT 2017


The frontend is automatically deducing things like @nogc and 
nothrow, but it is flaky and results in linker errors for a 
complex codebase (Weka's).

What happens in that in one kind of compilation, @nogc is deduced 
for a function. But in another compilation, it isn't. Thus 
references to the function will have the wrong mangling, and 
linker errors happen:
https://issues.dlang.org/show_bug.cgi?id=17541

This is blocking upgrading to a newer compiler with a newer 
frontend (2.071 --> 2.073).
(I already have a large amount of work arounds... Also non-user 
functions have this problem, e.g. there is a nothrow deduction 
problem for __fieldPostblit.)

Thanks for looking into this bug.

- Johan



More information about the Digitalmars-d mailing list