diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-08-24 05:30:29 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-08-24 05:30:29 +0000 |
| commit | ade9410c990151329e4ab097da5797a4cd7cc991 (patch) | |
| tree | 002e7f4c8b636d8995b8bb106963ab4d66e2d47f /llvm/lib/VMCore/Verifier.cpp | |
| parent | 9c5bfd0f80a5245ca2b607e718c2f60fbab94f9a (diff) | |
| download | bcm5719-llvm-ade9410c990151329e4ab097da5797a4cd7cc991.tar.gz bcm5719-llvm-ade9410c990151329e4ab097da5797a4cd7cc991.zip | |
Initial support for recognizing LLVM exception handling intrinsics
llvm-svn: 8102
Diffstat (limited to 'llvm/lib/VMCore/Verifier.cpp')
| -rw-r--r-- | llvm/lib/VMCore/Verifier.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp index 644ef10b9d1..eae7d8c1cfe 100644 --- a/llvm/lib/VMCore/Verifier.cpp +++ b/llvm/lib/VMCore/Verifier.cpp @@ -510,6 +510,8 @@ void Verifier::visitIntrinsicFunctionCall(LLVMIntrinsic::ID ID, CallInst &CI) { Assert1(IF->isExternal(), "Intrinsic functions should never be defined!", IF); unsigned NumArgs = 0; + // FIXME: this should check the return type of each intrinsic as well, also + // arguments! switch (ID) { case LLVMIntrinsic::va_start: Assert1(CI.getParent()->getParent()->getFunctionType()->isVarArg(), @@ -519,6 +521,11 @@ void Verifier::visitIntrinsicFunctionCall(LLVMIntrinsic::ID ID, CallInst &CI) { break; case LLVMIntrinsic::va_end: NumArgs = 1; break; case LLVMIntrinsic::va_copy: NumArgs = 2; break; + + case LLVMIntrinsic::exc_throw: NumArgs = 1; break; + case LLVMIntrinsic::exc_rethrow: NumArgs = 0; break; + case LLVMIntrinsic::exc_getcurrent: NumArgs = 0; break; + case LLVMIntrinsic::setjmp: NumArgs = 1; break; case LLVMIntrinsic::longjmp: NumArgs = 2; break; case LLVMIntrinsic::sigsetjmp: NumArgs = 2; break; |

