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 | 69f9bc24f406a152bcd432182d0d2cf41d1fa714 (patch) | |
tree | a2fb610f9fcd2b5be53f8d9594d378f5d9efdd74 /clang/lib/Basic | |
parent | f5ba827d41409b04cb0588e4fde83b7f2891337f (diff) | |
download | bcm5719-llvm-69f9bc24f406a152bcd432182d0d2cf41d1fa714.tar.gz bcm5719-llvm-69f9bc24f406a152bcd432182d0d2cf41d1fa714.zip |
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.
llvm-svn: 58222
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 7578b1b7d87..020c7d47db4 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/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"; |