diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-04-22 18:08:24 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-04-29 14:30:53 -0700 |
| commit | 0780b2830f06babba21dcd9f6c325576dd374183 (patch) | |
| tree | 0c5cd24f8cc70605dd901076e7471e1257b45a05 /src | |
| parent | c6a9e28842b0e8ae675b552b742312a9ffa60120 (diff) | |
librustc: Remove the legacy mode in the type visitor intrinsic.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/front/intrinsic.rs | 2 | ||||
| -rw-r--r-- | src/librustc/middle/trans/foreign.rs | 9 | ||||
| -rw-r--r-- | src/librustc/middle/typeck/check/mod.rs | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/librustc/front/intrinsic.rs b/src/librustc/front/intrinsic.rs index dcf300bd31d..452623c2742 100644 --- a/src/librustc/front/intrinsic.rs +++ b/src/librustc/front/intrinsic.rs @@ -132,7 +132,7 @@ pub mod intrinsic { #[abi = "rust-intrinsic"] pub extern "rust-intrinsic" { pub fn get_tydesc<T>() -> *(); - pub fn visit_tydesc(++td: *TyDesc, &&tv: @TyVisitor); + pub fn visit_tydesc(++td: *TyDesc, ++tv: @TyVisitor); } } } diff --git a/src/librustc/middle/trans/foreign.rs b/src/librustc/middle/trans/foreign.rs index 98caaa81416..4e3db1ea50c 100644 --- a/src/librustc/middle/trans/foreign.rs +++ b/src/librustc/middle/trans/foreign.rs @@ -771,9 +771,14 @@ pub fn trans_intrinsic(ccx: @CrateContext, ~"visit_tydesc" => { let td = get_param(decl, first_real_arg); let visitor = get_param(decl, first_real_arg + 1u); + let llvisitorptr = alloca(bcx, val_ty(visitor)); + Store(bcx, visitor, llvisitorptr); let td = PointerCast(bcx, td, T_ptr(ccx.tydesc_type)); - glue::call_tydesc_glue_full(bcx, visitor, td, - abi::tydesc_field_visit_glue, None); + glue::call_tydesc_glue_full(bcx, + llvisitorptr, + td, + abi::tydesc_field_visit_glue, + None); } ~"frame_address" => { let frameaddress = *ccx.intrinsics.get(&~"llvm.frameaddress"); diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index 4fad5b15ff6..f81c7bb8524 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -3479,7 +3479,7 @@ pub fn check_intrinsic_type(ccx: @mut CrateCtxt, it: @ast::foreign_item) { let td_ptr = ty::mk_ptr(ccx.tcx, ty::mt {ty: tydesc_ty, mutbl: ast::m_imm}); (0u, ~[arg(ast::by_copy, td_ptr), - arg(ast::by_ref, visitor_object_ty)], ty::mk_nil()) + arg(ast::by_copy, visitor_object_ty)], ty::mk_nil()) } ~"frame_address" => { let fty = ty::mk_closure(ccx.tcx, ty::ClosureTy { |
