Got compiler crash in Mangler::mangleFuncType

Uranuz via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 25 11:10:30 PDT 2017


On Saturday, 25 March 2017 at 17:47:18 UTC, Stefan Koch wrote:
> On Saturday, 25 March 2017 at 17:41:49 UTC, Uranuz wrote:
>> On Saturday, 25 March 2017 at 17:31:33 UTC, Stefan Koch wrote:
>>> On Saturday, 25 March 2017 at 13:34:43 UTC, Uranuz wrote:
>>>> [...]
>>>
>>> I can reproduce this.
>>> The function which fails is:
>>> DirAttrsBlock.this(DirAttrKind attrKind, 
>>> DirValueAttr!true[string] attrs)
>>
>> Yes. I fugured out that it fails on this line too. But I don't 
>> understand why. Compiler fails on assert and doesn't give any 
>> meaningful info about reasons. In release version of compiler 
>> it's just segfault. And I don't understand why changing order 
>> of source files passed to DMD makes it working... I'm not 
>> enough good in knowlege of compiler internals, so it's 
>> surprise for me...
>
> It might be that a the particular template does not get 
> instantiated if the order is different.
> The assert triggers because the constructor is indeed a 
> function which returns void.
> But at this stage it is not expected to return void.
> This is indicative of a compiler bug.

What is a good practice to make a bug report if I can't give some 
reduced case when problem occurs? Is it normal to just put link 
to my repo and branch with this problem and put instruction how 
to repeat this bug?


More information about the Digitalmars-d mailing list