[Issue 2826] New: failed assignment gives wrong line number
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Apr 9 07:31:56 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2826
Summary: failed assignment gives wrong line number
Product: D
Version: 2.027
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: diagnostic, patch
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: clugdbug at yahoo.com.au
const float foo=200.0;
void main() {
int y = foo;
}
-----------
fog.d(1): Error: cannot implicitly convert expression (200) of type
const(float)
to int
But the error is on line 4, not on line 1.
================
Patch: optimize.c line 128. The problem is that isVarDeclaration() on line 119
returns an expression with the line number where the initializer was from. But,
we want the line number for the assignment.
This patch fixes it, but I think there's something deeper which is wrong here.
There are many similar alias bugs in bugzilla.
--- optimize.c (revision 23)
+++ optimize.c (working copy)
@@ -124,6 +124,7 @@
e = e->copy();
e->type = e1->type;
}
+ e->loc = e1->loc;
}
else
e = e1;
--
More information about the Digitalmars-d-bugs
mailing list