September 25, 2012
http://gdcproject.org/bugzilla/show_bug.cgi?id=13

             Bug #: 13
           Summary: ARM: can't cast _argptr / va_list to pointer
    Classification: Unclassified
           Product: GDC
           Version: development
          Platform: ARM
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gdc
        AssignedTo: ibuclaw@gdcproject.org
        ReportedBy: johannespfau@gmail.com


----
import core.vararg;

void foo31(...)
{
    byte b = *cast(byte*)_argptr;
    assert(b == 8);
}

void main()
{
    byte b = 8;
    foo31(b);
}
----
test20.d: In function ‘foo31’:
test20.d:5: error: cannot convert to a pointer type

The test suite test cases runnable/test20.d and runnable/testdstress.d fail because of this. Should I document this as a difference between x86 and ARM and fix that test suite code to only run on x86? I guess this isn't portable code anyway?

Or should we somehow fix that in the compiler / druntime? AFAIK va_list is a structure on ARM, but it contains a void* which would probably work just like the va_list on x86?

-- 
Configure issuemail: http://gdcproject.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all issue changes.