summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CWriter
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-18 16:06:09 +0000
committerChris Lattner <sabre@nondot.org>2003-08-18 16:06:09 +0000
commita592cac43c3e68db92158307bcbc7d8a5133faf2 (patch)
tree5096eccf6951df9edd9faa55607a3db978a4ea30 /llvm/lib/CWriter
parent26399a7a84c3b7e7ef2e758c1c35dc5e910a4bfc (diff)
downloadbcm5719-llvm-a592cac43c3e68db92158307bcbc7d8a5133faf2.tar.gz
bcm5719-llvm-a592cac43c3e68db92158307bcbc7d8a5133faf2.zip
Add support for the sig(set|long)jmp intrinsics
llvm-svn: 7951
Diffstat (limited to 'llvm/lib/CWriter')
-rw-r--r--llvm/lib/CWriter/Writer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/CWriter/Writer.cpp b/llvm/lib/CWriter/Writer.cpp
index 0443c184757..4bc354bdee1 100644
--- a/llvm/lib/CWriter/Writer.cpp
+++ b/llvm/lib/CWriter/Writer.cpp
@@ -1139,6 +1139,7 @@ void CWriter::visitCallInst(CallInst &I) {
return;
case LLVMIntrinsic::setjmp:
+ case LLVMIntrinsic::sigsetjmp:
// This instrinsic should never exist in the program, but until we get
// setjmp/longjmp transformations going on, we should codegen it to
// something reasonable. This will allow code that never calls longjmp
@@ -1146,7 +1147,9 @@ void CWriter::visitCallInst(CallInst &I) {
Out << "0";
return;
case LLVMIntrinsic::longjmp:
- // Treat longjmp the same as setjmp
+ case LLVMIntrinsic::siglongjmp:
+ // Longjmp is not implemented, and never will be. It would cause an
+ // exception throw.
Out << "abort()";
return;
}
OpenPOWER on IntegriCloud