about summary refs log tree commit diff
path: root/src/comp/lib
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-09-12 09:36:51 -0700
committerBrian Anderson <banderson@mozilla.com>2011-09-12 09:36:51 -0700
commit393deeb06ff8017a93b0fd26c1f6968fdff2b15b (patch)
tree3dacb71e604095ec94a8f350f44467b7640f289d /src/comp/lib
parentedde2e0c457de6e5d17373bfa90ef319df4a1566 (diff)
parent6ffcfba6b990d6f27243e4dd6ddfffab141e1f44 (diff)
downloadrust-393deeb06ff8017a93b0fd26c1f6968fdff2b15b.tar.gz
rust-393deeb06ff8017a93b0fd26c1f6968fdff2b15b.zip
Merge branch 'unwind'
Conflicts:
	src/comp/middle/trans.rs
	src/comp/middle/trans_build.rs
	src/lib/run_program.rs
	src/test/compiletest/runtest.rs
Diffstat (limited to 'src/comp/lib')
-rw-r--r--src/comp/lib/llvm.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs
index fa7871042b8..8e00c8d63cd 100644
--- a/src/comp/lib/llvm.rs
+++ b/src/comp/lib/llvm.rs
@@ -572,6 +572,9 @@ native "cdecl" mod llvm = "rustllvm" {
     fn LLVMBuildInvoke(B: BuilderRef, Fn: ValueRef, Args: *ValueRef,
                        NumArgs: uint, Then: BasicBlockRef,
                        Catch: BasicBlockRef, Name: sbuf) -> ValueRef;
+    fn LLVMBuildLandingPad(B: BuilderRef, Ty: TypeRef, PersFn: ValueRef,
+                           NumClauses: uint, Name: sbuf) -> ValueRef;
+    fn LLVMBuildResume(B: BuilderRef, Exn: ValueRef) -> ValueRef;
     fn LLVMBuildUnreachable(B: BuilderRef) -> ValueRef;
 
     /* Add a case to the switch instruction */
@@ -580,6 +583,12 @@ native "cdecl" mod llvm = "rustllvm" {
     /* Add a destination to the indirectbr instruction */
     fn LLVMAddDestination(IndirectBr: ValueRef, Dest: BasicBlockRef);
 
+    /* Add a clause to the landing pad instruction */
+    fn LLVMAddClause(LandingPad: ValueRef, ClauseVal: ValueRef);
+
+    /* Set the cleanup on a landing pad instruction */
+    fn LLVMSetCleanup(LandingPad: ValueRef, Val: Bool);
+
     /* Arithmetic */
     fn LLVMBuildAdd(B: BuilderRef, LHS: ValueRef, RHS: ValueRef, Name: sbuf)
        -> ValueRef;