[Issue 7158] New: [CTFE] dmd: interpret.c:4643: virtual Expression* CallExp::interpret(InterState*, CtfeGoal): Assertion `thisval && thisval->op == ((TOK)(TOKMAX+1))' failed.[CTFE]

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Dec 23 00:49:35 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=7158

           Summary: [CTFE] dmd: interpret.c:4643: virtual Expression*
                    CallExp::interpret(InterState*, CtfeGoal): Assertion
                    `thisval && thisval->op == ((TOK)(TOKMAX+1))'
                    failed.[CTFE]
           Product: D
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: mailme+d at nilsb.dyndns.org


--- Comment #0 from Nils <mailme+d at nilsb.dyndns.org> 2011-12-23 00:49:33 PST ---
---
class C {
    bool b() {return true;}
}
struct S {
    C c;
}

bool test() {
    S s = S(new C);
    return s.c.b;
}
static assert(test());
---
Gives "dmd: interpret.c:4643: virtual Expression*
CallExp::interpret(InterState*, CtfeGoal): Assertion `thisval && thisval->op ==
((TOK)(TOKMAX+1))' failed."

These variations don't give errors:
---
bool test() {
    return S(new C).c.b;
}
bool test() {
    S s = S(new C);
    C c = s.c;
    return c.b;
}
---

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


More information about the Digitalmars-d-bugs mailing list