www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13599] New: [D1] backend/cod1.c ICE with -inline

https://issues.dlang.org/show_bug.cgi?id=13599

          Issue ID: 13599
           Summary: [D1] backend/cod1.c ICE with -inline
           Product: D
           Version: D1
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: public dicebot.lv

Reduced test case:

const C   = 1;

struct E ( ubyte G ) 
{
}

alias E!(C) I;

struct J
{
}

class L
{
    struct M ( N... )
    {   
        union { N P; }

        Q R ( Q ) ()
        {   
            foreach ( U ; P ) 
                return U;
            assert(0);
        }   
    }   

    class X
    {   
        bool delegate ( ) AB; 
    }   

    class BB ( M, I, CB, DB ) : X 
    {   
        void FB ( ) 
        {   
            this.AB = &this.outer.IB!(I, CB);
        }   
    }   

    bool IB ( I, CB ) ( ) 
    {   
        auto KB = &(cast(CB)this).MB!(I);
        return false;
    }   

    alias M!(I) OB; 

    BB!(OB, I, typeof(this), J) QB; 

    void MB (RB) ( ) 
    {   
        auto SB = cast(OB*) null;
        SB.R!(RB);
    }   
}

$ dmd1 -inline ./result.d 
Internal error: backend/cod1.c 1708

--
Oct 10 2014