[Bug 157] using -O{1,2,3} together with -g causes ICE (seg fault)
     via D.gnu 
    d.gnu at puremagic.com
       
    Wed Aug  2 18:15:52 PDT 2017
    
    
  
https://bugzilla.gdcproject.org/show_bug.cgi?id=157
--- Comment #8 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Reduced test (uses two imports):
---
struct Bytecode
{
    uint data;
}
@trusted ctSub(U)(string format, U args)
{
    import std.conv : to;
    foreach (i; format) 
        return  format~ to!string(args);
    return format;
}
struct CtContext
{
    import std.uni : CodepointSet;
    CodepointSet[] charsets;
    string ctAtomCode(Bytecode[] ir)
    {
        string code;
        switch (code)
        {
            OrChar:
                code ~=  ``;
                for (uint i ; i ;)
                    code ~= ctSub(``, ir[i].data);
                charsets[ir[0].data].toSourceCode;
                break;
            default:
                assert(0);
        }
        return code;
    }
}
---
And compiling:
---
$ gdc backtracking.d -v 2>&1 | grep -E ".toChars$"
function  std.conv.toChars!(16, char, cast(LetterCase)false, uint).toChars
function  std.conv.toChars!(16, char, cast(LetterCase)true, uint).toChars
function  std.conv.toChars!(2, char, cast(LetterCase)true, uint).toChars
function  std.conv.toChars!(8, char, cast(LetterCase)true, uint).toChars
$ dmd backtracking.d -v 2>&1 | grep -E ".toChars$"
function  std.conv.toChars!(10, char, cast(LetterCase)true, uint).toChars
function  std.conv.toChars!(16, char, cast(LetterCase)false, uint).toChars
function  std.conv.toChars!(16, char, cast(LetterCase)true, uint).toChars
function  std.conv.toChars!(2, char, cast(LetterCase)true, uint).toChars
function  std.conv.toChars!(8, char, cast(LetterCase)true, uint).toChars
---
Yes, it seems that there is something not quite aligned between the frontends
here.
Though not sure if this is related to this particular bug just yet. ;-)
-- 
You are receiving this mail because:
You are watching all bug changes.
    
    
More information about the D.gnu
mailing list