[Issue 6758] std.c.stdarg problems with 8 or more integer arguments on x86_64

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Oct 4 16:30:37 PDT 2011


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



--- Comment #6 from Graham <grahamc001uk at yahoo.co.uk> 2011-10-04 16:29:52 PDT ---
Perhaps somebody can tell me if D-style variadic functions really should be
using the __va_argsave structure on x86_64 code or should that only be
applicable to C-style variadic functions (as the documentation still implies at
the moment).

The compiler appears to be using the __va_argsave method of argument passing
for both C and D variadic functions on x86_64 code. So it's only possible to
use _argptr for retrieving arguments (as the documentation says) on 32 bit
code.

I have managed to patch stdarg.d (D1) and stdarg.di (D2) to work with most D
argument types but cfloat still gives some problems.

If this is a compiler issue (wrong argument passing method being used for D
variadic functions) then I'll stop expending any more time on it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list