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";