blockaddress(@function, %block) IR?

Tove via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Mon Aug 18 08:45:53 PDT 2014


On Sunday, 17 August 2014 at 03:35:14 UTC, Tove wrote:
> I guess one possible conclusion from this is that ldc invokes
> llvm to translate the inlineIR totally isolated from the rest of
> the d-file and thus is unable to access any global symbols which
> are not parameters to the template?
>
> If it simply had concatenated the output generated by the
> inlineIR to the end of the output generated by the rest of the
> translation unit, then it would most likely have worked?
>
> Well, I'm just speculating, I should familiarize myself with the
> ldc source one sunny day.

After cloning the source, I found the issue using code-review, 
the regression was introduced in:
7436d94e09700fc3ead5fc3b1912d172c299dfaa

Since I'm not able to build LDC at the moment, I downloaded a 
binary ldc-dist before this patch was introduced and indeed it is 
able to compile my blockaddress example, but instead there's a 
linking error, the inline function is missing, it's not as simple 
as reverting this patch.

Looking at the "-output-ll" I see that the inlineIR function is 
"declared" but not defined.


More information about the digitalmars-d-ldc mailing list