Skip to content

Commit 728612a

Browse files
committed
librustc: Remove the legacy mode in the type visitor intrinsic.
1 parent 657b09e commit 728612a

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

src/librustc/front/intrinsic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ pub mod intrinsic {
132132
#[abi = "rust-intrinsic"]
133133
pub extern "rust-intrinsic" {
134134
pub fn get_tydesc<T>() -> *();
135-
pub fn visit_tydesc(++td: *TyDesc, &&tv: @TyVisitor);
135+
pub fn visit_tydesc(++td: *TyDesc, ++tv: @TyVisitor);
136136
}
137137
}
138138
}

src/librustc/middle/trans/foreign.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -773,9 +773,14 @@ pub fn trans_intrinsic(ccx: @CrateContext,
773773
~"visit_tydesc" => {
774774
let td = get_param(decl, first_real_arg);
775775
let visitor = get_param(decl, first_real_arg + 1u);
776+
let llvisitorptr = alloca(bcx, val_ty(visitor));
777+
Store(bcx, visitor, llvisitorptr);
776778
let td = PointerCast(bcx, td, T_ptr(ccx.tydesc_type));
777-
glue::call_tydesc_glue_full(bcx, visitor, td,
778-
abi::tydesc_field_visit_glue, None);
779+
glue::call_tydesc_glue_full(bcx,
780+
llvisitorptr,
781+
td,
782+
abi::tydesc_field_visit_glue,
783+
None);
779784
}
780785
~"frame_address" => {
781786
let frameaddress = *ccx.intrinsics.get(&~"llvm.frameaddress");

src/librustc/middle/typeck/check/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3485,7 +3485,7 @@ pub fn check_intrinsic_type(ccx: @mut CrateCtxt, it: @ast::foreign_item) {
34853485
let td_ptr = ty::mk_ptr(ccx.tcx, ty::mt {ty: tydesc_ty,
34863486
mutbl: ast::m_imm});
34873487
(0u, ~[arg(ast::by_copy, td_ptr),
3488-
arg(ast::by_ref, visitor_object_ty)], ty::mk_nil())
3488+
arg(ast::by_copy, visitor_object_ty)], ty::mk_nil())
34893489
}
34903490
~"frame_address" => {
34913491
let fty = ty::mk_closure(ccx.tcx, ty::ClosureTy {

0 commit comments

Comments
 (0)