Got compiler crash in Mangler::mangleFuncType

Nicholas Wilson via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 25 02:31:57 PDT 2017


On Saturday, 25 March 2017 at 08:13:08 UTC, Uranuz wrote:
> On Saturday, 25 March 2017 at 07:57:11 UTC, Stefan Koch wrote:
>> On Saturday, 25 March 2017 at 06:56:40 UTC, Uranuz wrote:
>>> [...]
>>
>> Switch to git ~master and see if it still occurs.
>> Also if you can share the source I am happy to debug this.
>
> I just put debug messages on every `assert` and figured out it 
> fails on lines:
>                     bool implicit0 = (f.next.ty == Tvoid && 
> isMain());
>                     Type tret = implicit0 ? Type.tint32 : 
> f.next;
>                     assert(tret.ty != Tvoid);
>                     if (vresult || returnLabel)
>                         buildResultVar(scout ? scout : sc2, 
> tret);
> I really don't understand what it is... Now I cannot share 
> codebase easily.

dust mite has an "--obfuscate" option exactly for when you can't 
share the code.
see also the relevant section of the dust mite wiki
https://github.com/CyberShadow/DustMite/wiki/Detecting-a-segfault-in-dmd-itself

> Seems that it fails on my programme `main` function or near 
> that, because compiler stack not so deep. There is some check 
> for isMain AFAIK... What is this about?


More information about the Digitalmars-d mailing list