digitalmars.D.bugs - [Issue 4296] New: Reduce parasitic error messages
- d-bugmail puremagic.com (54/54) Jun 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4296
- d-bugmail puremagic.com (12/12) Jun 09 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4296
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 puremagic.com
ReportedBy: clugdbug yahoo.com.au
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: -------
Jun 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4296
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
13:00:26 PDT ---
http://www.dsource.org/projects/dmd/changeset/528
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 09 2010








d-bugmail puremagic.com