http://d.puremagic.com/issues/show_bug.cgi?id=4296
Summary: Reduce parasitic error messages Product: D Version: 2.041 Platform: Other OS/Version: Windows Status: NEW Keywords: diagnostic Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: clugd...@yahoo.com.au --- Comment #0 from Don <clugd...@yahoo.com.au> 2010-06-08 11:34:05 PDT --- The test case below generates many spurious error messages. In the beta of 2.047, they have references to type _error. Now that there is a distinct error type, it is straightforward to eliminate them all. Most occur in expression.c. For example, all the checkXXX() functions should start with: if (type == Type::terror) return new ErrorExp(); Likewise cases such as: void BinExp::incompatibleTypes() { + if (e1->type == Type::terror || e2->type == Type::terror) + return; -------------- TEST CASES -------------- void error_message_tests() { int x = y * 1; x = 4 + y; int *p = *y; x = y++; x = 7 - y; x = y[3]; x = ++y; x = y ? 2 : 3; x = null[y]; x = p[y..y]; y += y; x = y/1; // and where the heck did those two divs by 0 come from???? x = y ~ y; x ~= y; x = !y; x = 3 in y; x = y is 2; x = y ^^ 2; x ^^= y; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------