November 23, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2468

           Summary: result type of AndAndExp and OrOrExp deduced incorrectly
           Product: D
           Version: 1.035
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: patch
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: kamm-removethis@incasoftware.de


The spec says that "The result type of an OrOrExpression is bool, unless the right operand has type void, when the result is type void."

However, in AndAndExp and OrOrExp::semantic, it says:
  if (e1->type->ty == Tvoid)
    type = Type::tvoid;

The second seems to be a typo and shoud say e2->type->ty. Thanks to wilsonk, who found the bug that resulted from this in LDC and also provided the fix.


-- 

December 25, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2468


bugzilla@digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from bugzilla@digitalmars.com  2008-12-25 04:38 -------
Fixed dmd 1.038 amd 2.022


--