www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 8253] New: ctfe stack assertion failed

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8253

           Summary: ctfe stack assertion failed
           Product: D
           Version: D2
          Platform: x86_64
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: ellery-newcomer utulsa.edu



13:27:00 PDT ---
dmd 2.059

the [invalid] code:

class J {
    J j2(){
        return new J();
    }
}
J j() {
    static J m, func; 
    static func = m.j2();
    return func;
}

the compile:

dmd test.d

the fireworks:

dmd: interpret.c:94: Expression* CtfeStack::getValue(VarDeclaration*):
Assertion `v->ctfeAdrOnStack >= 0 && v->ctfeAdrOnStack < globalValues.dim'
failed.
Aborted (core dumped)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 16 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8253


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |CTFE, ice
                 CC|                            |clugdbug yahoo.com.au
           Platform|x86_64                      |All
            Version|D2                          |D1 & D2
            Summary|ctfe stack assertion failed |CTFE ICE: calling of member
                   |                            |function of non-CTFE class
                   |                            |variable
         OS/Version|Linux                       |All



Further reduced:
----------------
class Bug8253 {
    bool j(){
        return true;
    }
}
Bug8253 m8253;
static assert(m8253.j());
----------------
Also applies to D1.

The problem is that the 'variable cannot be read at compile error' is generated
by constant folding, not by CTFE. Fixing bug 7988 would fix this.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8253


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich gmail.com



*** Issue 8679 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8253




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/339ff2a11b95a42b31e0d11ba17ea970c8cb391b
Fix issue 8253 ICE: calling of member function of non-CTFE class variable

Test case only, already fixed by doing constfolding in CTFE.

https://github.com/D-Programming-Language/dmd/commit/a0ba3b2aa31d93709a1ed3e21f5a2deca6c761fc


Test cases for bugs 1982, 7988, 8253, and 8285.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 12 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8253


yebblies <yebblies gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |yebblies gmail.com
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 13 2013