[LLVMbugs] [Bug 11709] New: va_list on ARM is different from AAPCS 7.1.4
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Jan 4 21:35:25 PST 2012
http://llvm.org/bugs/show_bug.cgi?id=11709
Bug #: 11709
Summary: va_list on ARM is different from AAPCS 7.1.4
Product: clang
Version: 3.0
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Frontend
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: borninjm at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 7840
--> http://llvm.org/bugs/attachment.cgi?id=7840
TestCase of GCC's ARM
AAPCS 7.1.4 requires that va_list match the structure shown
va_list
struct __va_list
{
void* __ap;
}
but clang generates va_list on ARM as following
typedef void* __builtin_va_list;
It does not pass the testcase of GCC - gcc.target/arm/va_list.c
(see the attachement)
Wee can handle this issue by modifying lib/Basic/Targets.cpp
class ARMTargetInfo {
...
virtual const char *getVAListDeclaration() const {
return (ABI == "aapcs" || ABI == "aapcs-linux") ?
"typedef struct __va_list { void* __ap; } __builtin_va_list;"
:"typedef void* __builtin_va_list;";
}
...
}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list