Bug 42 – enable-checking error found in std/regexp.d

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
PowerPC
OS
Mac OS X
Creation time
2006-03-12T13:16:00Z
Last change time
2015-06-09T01:31:14Z
Keywords
ice-on-valid-code
Assigned to
dvdfrdmn
Creator
braddr

Comments

Comment #0 by braddr — 2006-03-12T13:16:05Z
reduced test case: module std.regexp; class RegExp { class Range { } void parseRange() { Range r = new Range(); } } proposed patch from our irc discussion, does _not_ fix the problem: --- d-glue.cc.orig 2006-03-11 21:37:48.000000000 -0600 +++ d-glue.cc 2006-03-12 13:11:42.000000000 -0600 @@ -2195,6 +2195,7 @@ Dsymbol * d = cd->toParent(); tree vthis_field = cd->vthis->toSymbol()->Stree; + t = d_convert_basic(Type::tvoid->pointerTo()->pointerTo()->toCtype(), t); t = irs->component( build1(INDIRECT_REF, TREE_TYPE(TREE_TYPE(t)), t), vthis_field);
Comment #1 by braddr — 2006-03-22T00:41:46Z
I'm looking into this one now. The patch below is not going to fix this bug, though it might well fix some other as-of-yet unidentified bug. The loop surrounding it is never entered so the code is never executed.
Comment #2 by braddr — 2006-05-30T02:52:53Z
fixed in gdc 0.18
Comment #3 by thomas-dloop — 2006-12-30T20:09:51Z