digitalmars.D.bugs - [Issue 2940] New: null is null cannot be evaluated at compile time
- d-bugmail puremagic.com (26/26) May 05 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2940
- d-bugmail puremagic.com (16/16) May 05 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2940
- d-bugmail puremagic.com (5/5) May 05 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2940
- d-bugmail puremagic.com (11/11) Sep 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2940
http://d.puremagic.com/issues/show_bug.cgi?id=2940 Summary: null is null cannot be evaluated at compile time Product: D Version: 1.042 Platform: PC OS/Version: Windows Status: NEW Keywords: patch, rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: clugdbug yahoo.com.au static assert(null is null); --- bug.d(1): Error: static assert (null is null) is not evaluatable at compile t ime Whereas the code below compiles fine: int main(){ return (null is null); } --- This also applies to similar kinds of expressions, eg (null is typeid(int)). The patch for this relies on my patch for 1524, otherwise you get an ICE with "null is typeid(int)". --
May 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2940 PATCH in optimize.c, line 779, in IdentityExp::optimize(int result) Just allow TOKnull as one of the parameters. OLD: if (this->e1->isConst() && this->e2->isConst()) { e = Identity(op, type, this->e1, this->e2); } NEW: if ((this->e1->isConst() || this->e1->op == TOKnull) && (this->e2->isConst()|| this->e2->op == TOKnull)) { e = Identity(op, type, this->e1, this->e2); } --
May 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2940 Does things break if NullExp::isConst() was just implemented? After all, null is constant... --
May 05 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2940 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED 13:25:00 PDT --- Fixed dmd 1.047 and 2.032 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 03 2009