[Issue 4296] New: Reduce parasitic error messages
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jun 8 11:34:08 PDT 2010
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: nobody at puremagic.com
ReportedBy: clugdbug at yahoo.com.au
--- Comment #0 from Don <clugdbug at 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: -------
More information about the Digitalmars-d-bugs
mailing list