aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-10-23 18:39:22 +0000
committerChris Lattner <sabre@nondot.org>2003-10-23 18:39:22 +0000
commitbf9584b041891d0f079f7cd2ae44d9c1defe1e4d (patch)
tree31659fa8f3fe9973937e48851b9b47d3e72c8403
parent95ee0b0288abfbba5c705d87179689cd1a91b237 (diff)
downloadllvm-bf9584b041891d0f079f7cd2ae44d9c1defe1e4d.zip
llvm-bf9584b041891d0f079f7cd2ae44d9c1defe1e4d.tar.gz
llvm-bf9584b041891d0f079f7cd2ae44d9c1defe1e4d.tar.bz2
Fail gracefully if we have a zero arg varargs function
llvm-svn: 9436
-rw-r--r--llvm/lib/CWriter/Writer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/CWriter/Writer.cpp b/llvm/lib/CWriter/Writer.cpp
index f65d3d3..b1f8793 100644
--- a/llvm/lib/CWriter/Writer.cpp
+++ b/llvm/lib/CWriter/Writer.cpp
@@ -1193,6 +1193,12 @@ void CWriter::visitCallInst(CallInst &I) {
Out << "va_start(*(va_list*)&" << Mang->getValueName(&I) << ", ";
// Output the last argument to the enclosing function...
+ if (I.getParent()->getParent()->aempty()) {
+ std::cerr << "The C backend does not currently support zero "
+ << "argument varargs functions, such as '"
+ << I.getParent()->getParent()->getName() << "'!\n";
+ abort();
+ }
writeOperand(&I.getParent()->getParent()->aback());
Out << ")";
return;