"the one true solution for compatibility with GCC 3.3+"
authorChris Lattner <sabre@nondot.org>
Wed, 10 Sep 2003 20:08:00 +0000 (20:08 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 10 Sep 2003 20:08:00 +0000 (20:08 +0000)
... or so I hope

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8454 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp

index 0a9c8d1d017edd1bd4a2ffb1db39a8ccbf9845b0..921aa3488d9f646cb1211f97f2fe90689399ec7a 100644 (file)
@@ -1133,7 +1133,7 @@ void CWriter::visitCallInst(CallInst &I) {
       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 @@ void CWriter::visitCallInst(CallInst &I) {
         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));
index 0a9c8d1d017edd1bd4a2ffb1db39a8ccbf9845b0..921aa3488d9f646cb1211f97f2fe90689399ec7a 100644 (file)
@@ -1133,7 +1133,7 @@ void CWriter::visitCallInst(CallInst &I) {
       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 @@ void CWriter::visitCallInst(CallInst &I) {
         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));