summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2010-08-04-MingWCrash.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/2010-08-04-MingWCrash.ll')
-rw-r--r--test/CodeGen/X86/2010-08-04-MingWCrash.ll13
1 files changed, 5 insertions, 8 deletions
diff --git a/test/CodeGen/X86/2010-08-04-MingWCrash.ll b/test/CodeGen/X86/2010-08-04-MingWCrash.ll
index 98a0887c0e..61f527b047 100644
--- a/test/CodeGen/X86/2010-08-04-MingWCrash.ll
+++ b/test/CodeGen/X86/2010-08-04-MingWCrash.ll
@@ -10,14 +10,15 @@ bb1:
ret void
lpad:
- %exn = tail call i8* @llvm.eh.exception() nounwind
- %eh.selector = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i32 1, i8* null) nounwind
+ %exn.ptr = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+ catch i8* null
+ %exn = extractvalue { i8*, i32 } %exn.ptr, 0
+ %eh.selector = extractvalue { i8*, i32 } %exn.ptr, 1
%ehspec.fails = icmp slt i32 %eh.selector, 0
br i1 %ehspec.fails, label %ehspec.unexpected, label %cleanup
cleanup:
- tail call void @_Unwind_Resume_or_Rethrow(i8* %exn) noreturn nounwind
- unreachable
+ resume { i8*, i32 } %exn.ptr
ehspec.unexpected:
tail call void @__cxa_call_unexpected(i8* %exn) noreturn nounwind
@@ -26,12 +27,8 @@ ehspec.unexpected:
declare noalias i8* @malloc()
-declare i8* @llvm.eh.exception() nounwind readonly
-
declare i32 @__gxx_personality_v0(...)
-declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
-
declare void @_Unwind_Resume_or_Rethrow(i8*)
declare void @__cxa_call_unexpected(i8*)