Fix the definition of __builtin_va_list on PPC, which was set to the V4 ABI, not the
darwin or AIX abis. This fixes PR2904.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58222 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 7578b1b..020c7d4 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -220,13 +220,15 @@
NumRecords = clang::PPC::LastTSBuiltin-Builtin::FirstTSBuiltin;
}
virtual const char *getVAListDeclaration() const {
- return "typedef struct __va_list_tag {"
+ return "typedef char* __builtin_va_list;";
+ // This is the right definition for ABI/V4: System V.4/eabi.
+ /*return "typedef struct __va_list_tag {"
" unsigned char gpr;"
" unsigned char fpr;"
" unsigned short reserved;"
" void* overflow_arg_area;"
" void* reg_save_area;"
- "} __builtin_va_list[1];";
+ "} __builtin_va_list[1];";*/
}
virtual const char *getTargetPrefix() const {
return "ppc";