www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9643] New: [64 bit] Incorrect cdouble passing for varags

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

           Summary: [64 bit] Incorrect cdouble passing for varags
           Product: D
           Version: D1 & D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: clugdbug yahoo.com.au


--- Comment #0 from Don <clugdbug yahoo.com.au> 2013-03-04 01:43:50 PST ---
Test case from bug 5625 comment 3. This applies to D1 as well as D2.
---
import core.vararg;

void bar(TypeInfo[] arguments, va_list argptr)
{
    creal values = va_arg!(cdouble)(argptr);
    assert(values == 1.2 + 3.4i, "value didn't make it through intact");
}

void foo(...)
{
    bar(_arguments, _argptr);
}

int main()
{
    foo(1.2 + 3.4i);

    return 0;
}

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