Bug 5694 – va_arg doesn't work with idouble and ifloat

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2011-03-04T05:05:00Z
Last change time
2015-06-09T05:11:48Z
Assigned to
nobody
Creator
mathias.baumann

Attachments

IDFilenameSummaryContent-TypeSize
927main.dtest case showing the problemapplication/octet-stream656
928main.dtestcase for ifloat, idouble, cdouble, cfloatapplication/octet-stream1139

Comments

Comment #0 by mathias.baumann — 2011-03-04T05:05:08Z
Created attachment 927 test case showing the problem In 64bit va_arg does not give back the correct pointer for the type idouble and ifloat. I haven't tested more types so far, but I guess cfloat and cdouble will give problems, too see attached test case. In 32bit the outputs are the same, in 64bit not. I only tested this on D1, but I assume it will have the same problems on D2
Comment #1 by mathias.baumann — 2011-03-04T05:17:50Z
Created attachment 928 testcase for ifloat, idouble, cdouble, cfloat I extended the testcase to cfloat and cdouble. It works with cdouble. and it gives Internal error: backend/cgcod.c 576 with cfloat, so I couldn't test that part.
Comment #2 by bugzilla — 2011-03-04T20:18:20Z
Comment #3 by bugzilla — 2011-03-04T23:13:08Z