mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-09 13:21:30 +00:00
1cfc2ea35f
Changes the default Windows target triple returned by GetHostTriple.cmake from the old environment names (which we wanted to move away from) to newer, normalized ones. This also requires updating all tests to use the new systems names in constraints. Differential Revision: https://reviews.llvm.org/D47381 llvm-svn: 339307
37 lines
1017 B
LLVM
37 lines
1017 B
LLVM
; REQUIRES: cxx-shared-library
|
|
; RUN: %lli -extra-module=%p/Inputs/multi-module-eh-b.ll %s
|
|
; XFAIL: arm, cygwin, windows-msvc, windows-gnu
|
|
declare i8* @__cxa_allocate_exception(i64)
|
|
declare void @__cxa_throw(i8*, i8*, i8*)
|
|
declare i32 @__gxx_personality_v0(...)
|
|
declare void @__cxa_end_catch()
|
|
declare i8* @__cxa_begin_catch(i8*)
|
|
|
|
@_ZTIi = external constant i8*
|
|
|
|
declare i32 @FB()
|
|
|
|
define void @throwException() {
|
|
%exception = tail call i8* @__cxa_allocate_exception(i64 4)
|
|
call void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTIi to i8*), i8* null)
|
|
unreachable
|
|
}
|
|
|
|
define i32 @main() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
|
|
entry:
|
|
invoke void @throwException()
|
|
to label %try.cont unwind label %lpad
|
|
|
|
lpad:
|
|
%p = landingpad { i8*, i32 }
|
|
catch i8* bitcast (i8** @_ZTIi to i8*)
|
|
%e = extractvalue { i8*, i32 } %p, 0
|
|
call i8* @__cxa_begin_catch(i8* %e)
|
|
call void @__cxa_end_catch()
|
|
br label %try.cont
|
|
|
|
try.cont:
|
|
%r = call i32 @FB( )
|
|
ret i32 %r
|
|
}
|