From: Chris Lattner Date: Wed, 10 Sep 2003 20:08:00 +0000 (+0000) Subject: "the one true solution for compatibility with GCC 3.3+" X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4b2a71d6219b97b5f816150c8c72d0d593d5d624;p=oota-llvm.git "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 0a9c8d1d017..921aa3488d9 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -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)); diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 0a9c8d1d017..921aa3488d9 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -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));