1
1
use cranelift_codegen:: binemit:: NullTrapSink ;
2
2
use cranelift_codegen:: ir:: * ;
3
3
use cranelift_codegen:: isa:: CallConv ;
4
+ use cranelift_codegen:: settings;
4
5
use cranelift_codegen:: { ir:: types:: I16 , Context } ;
5
6
use cranelift_entity:: EntityRef ;
6
7
use cranelift_frontend:: * ;
@@ -9,8 +10,17 @@ use cranelift_simplejit::*;
9
10
10
11
#[ test]
11
12
fn error_on_incompatible_sig_in_declare_function ( ) {
13
+ let mut flag_builder = settings:: builder ( ) ;
14
+ flag_builder. set ( "use_colocated_libcalls" , "false" ) . unwrap ( ) ;
15
+ // FIXME set back to true once the x64 backend supports it.
16
+ flag_builder. set ( "is_pic" , "false" ) . unwrap ( ) ;
17
+ let isa_builder = cranelift_native:: builder ( ) . unwrap_or_else ( |msg| {
18
+ panic ! ( "host machine is not supported: {}" , msg) ;
19
+ } ) ;
20
+ let isa = isa_builder. finish ( settings:: Flags :: new ( flag_builder) ) ;
12
21
let mut module: SimpleJITModule =
13
- SimpleJITModule :: new ( SimpleJITBuilder :: new ( default_libcall_names ( ) ) ) ;
22
+ SimpleJITModule :: new ( SimpleJITModule :: with_isa ( isa, default_libcall_names ( ) ) ) ;
23
+
14
24
let mut sig = Signature {
15
25
params : vec ! [ AbiParam :: new( types:: I64 ) ] ,
16
26
returns : vec ! [ ] ,
@@ -58,8 +68,16 @@ fn define_simple_function(module: &mut SimpleJITModule) -> FuncId {
58
68
#[ test]
59
69
#[ should_panic( expected = "Result::unwrap()` on an `Err` value: DuplicateDefinition(\" abc\" )" ) ]
60
70
fn panic_on_define_after_finalize ( ) {
71
+ let mut flag_builder = settings:: builder ( ) ;
72
+ flag_builder. set ( "use_colocated_libcalls" , "false" ) . unwrap ( ) ;
73
+ // FIXME set back to true once the x64 backend supports it.
74
+ flag_builder. set ( "is_pic" , "false" ) . unwrap ( ) ;
75
+ let isa_builder = cranelift_native:: builder ( ) . unwrap_or_else ( |msg| {
76
+ panic ! ( "host machine is not supported: {}" , msg) ;
77
+ } ) ;
78
+ let isa = isa_builder. finish ( settings:: Flags :: new ( flag_builder) ) ;
61
79
let mut module: SimpleJITModule =
62
- SimpleJITModule :: new ( SimpleJITBuilder :: new ( default_libcall_names ( ) ) ) ;
80
+ SimpleJITModule :: new ( SimpleJITModule :: with_isa ( isa , default_libcall_names ( ) ) ) ;
63
81
64
82
define_simple_function ( & mut module) ;
65
83
define_simple_function ( & mut module) ;
@@ -140,8 +158,16 @@ fn switch_error() {
140
158
141
159
#[ test]
142
160
fn libcall_function ( ) {
161
+ let mut flag_builder = settings:: builder ( ) ;
162
+ flag_builder. set ( "use_colocated_libcalls" , "false" ) . unwrap ( ) ;
163
+ // FIXME set back to true once the x64 backend supports it.
164
+ flag_builder. set ( "is_pic" , "false" ) . unwrap ( ) ;
165
+ let isa_builder = cranelift_native:: builder ( ) . unwrap_or_else ( |msg| {
166
+ panic ! ( "host machine is not supported: {}" , msg) ;
167
+ } ) ;
168
+ let isa = isa_builder. finish ( settings:: Flags :: new ( flag_builder) ) ;
143
169
let mut module: SimpleJITModule =
144
- SimpleJITModule :: new ( SimpleJITBuilder :: new ( default_libcall_names ( ) ) ) ;
170
+ SimpleJITModule :: new ( SimpleJITModule :: with_isa ( isa , default_libcall_names ( ) ) ) ;
145
171
146
172
let sig = Signature {
147
173
params : vec ! [ ] ,
0 commit comments