[Issue 1844] Problems using dynamic cast on x86-64 platform

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 27 02:10:38 PST 2008


http://d.puremagic.com/issues/show_bug.cgi?id=1844





------- Comment #3 from e-t172 at akegroup.org  2008-02-27 04:10 -------
Created an attachment (id=229)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=229&action=view)
Fix: reverts the change in r188 which causes the bug

I've done some regression tests. The bug is introduced by r188. I narrowed it
down to a very small change in dmd/toobj.c.

Attached patch reverts this change. This seems to have fixed the bug.

Before the patch:

$ ./cast_test

Supported interfaces:

tango.io.model.IConduit.IConduit
tango.io.model.IConduit.OutputStream
tango.io.model.IConduit.ISelectable

Attempted cast:

_d_dynamic_cast(o = 0x2b31b3111e40, c = 'tango.io.model.IBuffer.Buffered')
oc: tango.sys.Pipe.PipeConduit
oc: tango.io.DeviceConduit.DeviceConduit
oc: tango.io.Conduit.Conduit
oc: tango.io.model.IConduit.IConduit
Segmentation fault

After the patch:

$ ./cast_test

Supported interfaces:

tango.io.model.IConduit.IConduit
tango.io.model.IConduit.OutputStream
tango.io.model.IConduit.ISelectable

Attempted cast:

_d_dynamic_cast(o = 0x2b20a852ee40, c = 'tango.io.model.IBuffer.Buffered')
oc: tango.sys.Pipe.PipeConduit
oc: tango.io.DeviceConduit.DeviceConduit
oc: tango.io.Conduit.Conduit
oc: tango.io.model.IConduit.IConduit
oc: tango.io.model.IConduit.InputStream
oc: tango.io.model.IConduit.IOStream
oc: tango.io.model.IConduit.OutputStream
oc: tango.io.model.IConduit.IOStream
oc: tango.io.model.IConduit.OutputStream
oc: tango.io.model.IConduit.IOStream
oc: tango.io.model.IConduit.ISelectable
oc: object.Object
        result = (nil)


-- 



More information about the D.gnu mailing list