diff options
author | Chris Lattner <sabre@nondot.org> | 2008-10-27 01:11:29 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-10-27 01:11:29 +0000 |
commit | d599850e9e4b30e3cb2384a447cab576742e4d0e (patch) | |
tree | 366eac3b561bc25a0df3e4f984ec5e885648d702 | |
parent | be20bb558cae5352898e6a913e29d24d20134841 (diff) |
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
-rw-r--r-- | lib/Basic/Targets.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 7578b1b7d8..020c7d47db 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -220,13 +220,15 @@ public: 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"; |