Bug 3373 – bad codeview debug info for long and ulong

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Windows
Creation time
2009-10-07T23:58:00Z
Last change time
2015-06-09T01:29:41Z
Keywords
patch, wrong-code
Assigned to
nobody
Creator
r.sagitario

Comments

Comment #0 by r.sagitario — 2009-10-07T23:58:40Z
The codeview debug info emitted by dmd for long and ulong types are a bad delegate and dynamic-array of ints, respectively.
Comment #1 by r.sagitario — 2009-10-08T00:01:22Z
This is caused a bad check in cv4_typeidx() that will never use the basic types, because cv4_typidx(t->Tnext) never returns 0. Instead, t->Tnext should be tested: Index: cgcv.c =================================================================== --- cgcv.c (revision 201) +++ cgcv.c (working copy) @@ -1677,14 +1677,14 @@ switch (tym) { case TYllong: - if (next) + if (t->Tnext) goto Ldelegate; assert(dt); typidx = dt; break; case TYullong: - if (next) + if (t->Tnext) goto Ldarray; assert(dt); typidx = dt;
Comment #2 by bugzilla — 2010-02-05T02:58:12Z
changelog 369
Comment #3 by bugzilla — 2010-03-08T22:19:56Z
Fixed dmd 1.057 and 2.041