"the one true solution for compatibility with GCC 3.3+"

... or so I hope


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8454 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 0a9c8d1..921aa34 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -1133,7 +1133,7 @@
       switch (ID) {
       default:  assert(0 && "Unknown LLVM intrinsic!");
       case LLVMIntrinsic::va_start: 
-        Out << "va_start((va_list)*";
+        Out << "va_start(*(va_list*)";
         writeOperand(I.getOperand(1));
         Out << ", ";
         // Output the last argument to the enclosing function...
@@ -1141,12 +1141,12 @@
         Out << ")";
         return;
       case LLVMIntrinsic::va_end:
-        Out << "va_end((va_list)*";
+        Out << "va_end(*(va_list*)";
         writeOperand(I.getOperand(1));
         Out << ")";
         return;
       case LLVMIntrinsic::va_copy:
-        Out << "va_copy((va_list)*";
+        Out << "va_copy(*(va_list*)";
         writeOperand(I.getOperand(1));
         Out << ", (va_list)";
         writeOperand(I.getOperand(2));