summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-10-27 01:11:29 +0000
committerChris Lattner <sabre@nondot.org>2008-10-27 01:11:29 +0000
commit69f9bc24f406a152bcd432182d0d2cf41d1fa714 (patch)
treea2fb610f9fcd2b5be53f8d9594d378f5d9efdd74 /clang/lib/Basic
parentf5ba827d41409b04cb0588e4fde83b7f2891337f (diff)
downloadbcm5719-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.cpp6
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";
OpenPOWER on IntegriCloud