@@ -825,7 +825,8 @@ pub fn trans_external_path(ccx: &mut CrateContext, did: ast::DefId, t: ty::t)
825
825
};
826
826
}
827
827
828
- pub fn invoke(bcx: @mut Block, llfn: ValueRef, llargs: ~[ValueRef])
828
+ pub fn invoke(bcx: @mut Block, llfn: ValueRef, llargs: ~[ValueRef],
829
+ attributes: &[(uint, lib::llvm::Attribute)])
829
830
-> (ValueRef, @mut Block) {
830
831
let _icx = push_ctxt(" invoke_") ;
831
832
if bcx. unreachable {
@@ -865,7 +866,7 @@ pub fn invoke(bcx: @mut Block, llfn: ValueRef, llargs: ~[ValueRef])
865
866
debug ! ( "arg: %x" , :: std:: cast:: transmute( llarg) ) ;
866
867
}
867
868
}
868
- let llresult = Call ( bcx, llfn, llargs) ;
869
+ let llresult = Call ( bcx, llfn, llargs, attributes ) ;
869
870
return ( llresult, bcx) ;
870
871
}
871
872
}
@@ -976,7 +977,7 @@ pub fn get_landing_pad(bcx: @mut Block) -> BasicBlockRef {
976
977
// Because we may have unwound across a stack boundary, we must call into
977
978
// the runtime to figure out which stack segment we are on and place the
978
979
// stack limit back into the TLS.
979
- Call ( pad_bcx, bcx. ccx ( ) . upcalls . reset_stack_limit , [ ] ) ;
980
+ Call ( pad_bcx, bcx. ccx ( ) . upcalls . reset_stack_limit , [ ] , [ ] ) ;
980
981
981
982
// We store the retval in a function-central alloca, so that calls to
982
983
// Resume can find it.
@@ -1071,7 +1072,7 @@ pub fn trans_trace(bcx: @mut Block, sp_opt: Option<Span>, trace_str: @str) {
1071
1072
let V_trace_str = PointerCast(bcx, V_trace_str, Type::i8p());
1072
1073
let V_filename = PointerCast(bcx, V_filename, Type::i8p());
1073
1074
let args = ~[V_trace_str, V_filename, C_int(ccx, V_line)];
1074
- Call(bcx, ccx.upcalls.trace, args);
1075
+ Call(bcx, ccx.upcalls.trace, args, [] );
1075
1076
}
1076
1077
1077
1078
pub fn ignore_lhs(_bcx: @mut Block, local: &ast::Local) -> bool {
@@ -1465,7 +1466,7 @@ pub fn call_memcpy(cx: @mut Block, dst: ValueRef, src: ValueRef, n_bytes: ValueR
1465
1466
let size = IntCast ( cx, n_bytes, ccx. int_type ) ;
1466
1467
let align = C_i32 ( align as i32 ) ;
1467
1468
let volatile = C_i1 ( false ) ;
1468
- Call ( cx, memcpy, [ dst_ptr, src_ptr, size, align, volatile] ) ;
1469
+ Call ( cx, memcpy, [ dst_ptr, src_ptr, size, align, volatile] , [ ] ) ;
1469
1470
}
1470
1471
1471
1472
pub fn memcpy_ty ( bcx : @mut Block , dst : ValueRef , src : ValueRef , t : ty:: t ) {
@@ -1510,7 +1511,7 @@ pub fn memzero(b: &Builder, llptr: ValueRef, ty: Type) {
1510
1511
let size = machine:: llsize_of ( ccx, ty) ;
1511
1512
let align = C_i32 ( llalign_of_min ( ccx, ty) as i32 ) ;
1512
1513
let volatile = C_i1 ( false ) ;
1513
- b. call ( llintrinsicfn, [ llptr, llzeroval, size, align, volatile] ) ;
1514
+ b. call ( llintrinsicfn, [ llptr, llzeroval, size, align, volatile] , [ ] ) ;
1514
1515
}
1515
1516
1516
1517
pub fn alloc_ty ( bcx : @mut Block , t : ty:: t , name : & str ) -> ValueRef {
@@ -2353,7 +2354,7 @@ pub fn create_entry_wrapper(ccx: @mut CrateContext,
2353
2354
llvm:: LLVMGetParam ( llfdecl, env_arg as c_uint )
2354
2355
} ;
2355
2356
let args = ~[ llenvarg] ;
2356
- Call ( bcx, main_llfn, args) ;
2357
+ Call ( bcx, main_llfn, args, [ ] ) ;
2357
2358
2358
2359
finish_fn ( fcx, bcx) ;
2359
2360
return llfdecl;
@@ -2808,7 +2809,7 @@ pub fn declare_dbg_intrinsics(llmod: ModuleRef, intrinsics: &mut HashMap<&'stati
2808
2809
2809
2810
pub fn trap ( bcx : @mut Block ) {
2810
2811
match bcx. ccx ( ) . intrinsics . find_equiv ( & & "llvm.trap" ) {
2811
- Some ( & x) => { Call ( bcx, x, [ ] ) ; } ,
2812
+ Some ( & x) => { Call ( bcx, x, [ ] , [ ] ) ; } ,
2812
2813
_ => bcx. sess ( ) . bug ( "unbound llvm.trap in trap" )
2813
2814
}
2814
2815
}
0 commit comments