diff options
author | John Criswell <criswell@uiuc.edu> | 2004-08-10 18:32:06 +0000 |
---|---|---|
committer | John Criswell <criswell@uiuc.edu> | 2004-08-10 18:32:06 +0000 |
commit | 7d4bacd1af9549bd62e9fd7ea5cd089b781e8d48 (patch) | |
tree | c0367f6d26a34995aed7d6bd81b31ea764a67672 | |
parent | f0958ae6eb37afe15652302bb207f4300e698c11 (diff) | |
download | llvm-7d4bacd1af9549bd62e9fd7ea5cd089b781e8d48.zip llvm-7d4bacd1af9549bd62e9fd7ea5cd089b781e8d48.tar.gz llvm-7d4bacd1af9549bd62e9fd7ea5cd089b781e8d48.tar.bz2 |
Merged in mainline.
llvm-svn: 15617
-rw-r--r-- | llvm/lib/Target/CBackend/Writer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Target/CBackend/Writer.cpp b/llvm/lib/Target/CBackend/Writer.cpp index 65a110e..bb1548f 100644 --- a/llvm/lib/Target/CBackend/Writer.cpp +++ b/llvm/lib/Target/CBackend/Writer.cpp @@ -1390,9 +1390,13 @@ void CWriter::visitCallInst(CallInst &I) { Out << ")"; return; case Intrinsic::vaend: - Out << "va_end(*(va_list*)&"; - writeOperand(I.getOperand(1)); - Out << ")"; + if (!isa<ConstantPointerNull>(I.getOperand(1))) { + Out << "va_end(*(va_list*)&"; + writeOperand(I.getOperand(1)); + Out << ")"; + } else { + Out << "va_end(*(va_list*)0)"; + } return; case Intrinsic::vacopy: Out << "0;"; |