Skip to content

Commit 38fa908

Browse files
committed
---
yaml --- r: 60671 b: refs/heads/auto c: 0629ef1 h: refs/heads/master i: 60669: 0cc6286 60667: 67efdc9 60663: fc6373f 60655: 99157ea 60639: 7fcc9a4 60607: ac989bd 60543: 960555c 60415: 3e4adb0 v: v3
1 parent 4a399c2 commit 38fa908

File tree

10 files changed

+126
-236
lines changed

10 files changed

+126
-236
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1414
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1515
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1616
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
17-
refs/heads/auto: 212d6a2f61bbd3d0dae6e8768a9c0ea6c17de7a9
17+
refs/heads/auto: 0629ef16e8d93e7e461b025e829b350b5daeed6a
1818
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1919
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c

branches/auto/src/librustc/middle/trans/foreign.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -845,26 +845,6 @@ pub fn trans_intrinsic(ccx: @CrateContext,
845845
T_ptr(T_nil()));
846846
Store(bcx, morestack_addr, fcx.llretptr.get());
847847
}
848-
~"memcpy32" => {
849-
let dst_ptr = get_param(decl, first_real_arg);
850-
let src_ptr = get_param(decl, first_real_arg + 1);
851-
let size = get_param(decl, first_real_arg + 2);
852-
let align = C_i32(1);
853-
let volatile = C_i1(false);
854-
let llfn = *bcx.ccx().intrinsics.get(
855-
&~"llvm.memcpy.p0i8.p0i8.i32");
856-
Call(bcx, llfn, [dst_ptr, src_ptr, size, align, volatile]);
857-
}
858-
~"memcpy64" => {
859-
let dst_ptr = get_param(decl, first_real_arg);
860-
let src_ptr = get_param(decl, first_real_arg + 1);
861-
let size = get_param(decl, first_real_arg + 2);
862-
let align = C_i32(1);
863-
let volatile = C_i1(false);
864-
let llfn = *bcx.ccx().intrinsics.get(
865-
&~"llvm.memcpy.p0i8.p0i8.i64");
866-
Call(bcx, llfn, [dst_ptr, src_ptr, size, align, volatile]);
867-
}
868848
~"memmove32" => {
869849
let dst_ptr = get_param(decl, first_real_arg);
870850
let src_ptr = get_param(decl, first_real_arg + 1);

branches/auto/src/librustc/middle/trans/type_use.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ pub fn type_uses_for(ccx: @CrateContext, fn_id: def_id, n_tps: uint)
135135
~"visit_tydesc" | ~"forget" | ~"frame_address" |
136136
~"morestack_addr" => 0,
137137

138-
~"memcpy32" | ~"memcpy64" | ~"memmove32" | ~"memmove64" => 0,
138+
~"memmove32" | ~"memmove64" => 0,
139139

140140
~"sqrtf32" | ~"sqrtf64" | ~"powif32" | ~"powif64" |
141141
~"sinf32" | ~"sinf64" | ~"cosf32" | ~"cosf64" |

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

Lines changed: 115 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -3451,152 +3451,122 @@ pub fn check_intrinsic_type(ccx: @mut CrateCtxt, it: @ast::foreign_item) {
34513451

34523452
let tcx = ccx.tcx;
34533453
let (n_tps, inputs, output) = match *ccx.tcx.sess.str_of(it.ident) {
3454-
~"size_of" |
3455-
~"pref_align_of" | ~"min_align_of" => (1u, ~[], ty::mk_uint()),
3456-
~"init" => (1u, ~[], param(ccx, 0u)),
3457-
~"uninit" => (1u, ~[], param(ccx, 0u)),
3458-
~"forget" => (1u, ~[ param(ccx, 0) ], ty::mk_nil()),
3459-
~"transmute" => (2, ~[ param(ccx, 0) ], param(ccx, 1)),
3460-
~"move_val" | ~"move_val_init" => {
3461-
(1u,
3462-
~[
3463-
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), param(ccx, 0)),
3464-
param(ccx, 0u)
3465-
],
3466-
ty::mk_nil())
3467-
}
3468-
~"needs_drop" => (1u, ~[], ty::mk_bool()),
3469-
3470-
~"atomic_cxchg" | ~"atomic_cxchg_acq"| ~"atomic_cxchg_rel" => {
3471-
(0,
3454+
~"size_of" |
3455+
~"pref_align_of" | ~"min_align_of" => (1u, ~[], ty::mk_uint()),
3456+
~"init" => (1u, ~[], param(ccx, 0u)),
3457+
~"uninit" => (1u, ~[], param(ccx, 0u)),
3458+
~"forget" => (1u, ~[ param(ccx, 0) ], ty::mk_nil()),
3459+
~"transmute" => (2, ~[ param(ccx, 0) ], param(ccx, 1)),
3460+
~"move_val" | ~"move_val_init" => {
3461+
(1u,
34723462
~[
3473-
ty::mk_mut_rptr(tcx,
3474-
ty::re_bound(ty::br_anon(0)),
3475-
ty::mk_int()),
3476-
ty::mk_int(),
3477-
ty::mk_int()
3478-
],
3479-
ty::mk_int())
3480-
}
3481-
~"atomic_load" | ~"atomic_load_acq" => {
3482-
(0,
3483-
~[
3484-
ty::mk_imm_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int())
3485-
],
3486-
ty::mk_int())
3487-
}
3488-
~"atomic_store" | ~"atomic_store_rel" => {
3489-
(0,
3490-
~[
3491-
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int()),
3492-
ty::mk_int()
3493-
],
3494-
ty::mk_nil())
3495-
}
3496-
~"atomic_xchg" | ~"atomic_xadd" | ~"atomic_xsub" |
3497-
~"atomic_xchg_acq" | ~"atomic_xadd_acq" | ~"atomic_xsub_acq" |
3498-
~"atomic_xchg_rel" | ~"atomic_xadd_rel" | ~"atomic_xsub_rel" => {
3499-
(0,
3500-
~[
3501-
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int()),
3502-
ty::mk_int()
3503-
],
3504-
ty::mk_int())
3505-
}
3506-
3507-
~"get_tydesc" => {
3508-
// FIXME (#3730): return *intrinsic::tydesc, not *()
3509-
(1u, ~[], ty::mk_nil_ptr(ccx.tcx))
3510-
}
3511-
~"visit_tydesc" => {
3512-
let tydesc_name = special_idents::tydesc;
3513-
assert!(tcx.intrinsic_defs.contains_key(&tydesc_name));
3514-
let (_, tydesc_ty) = tcx.intrinsic_defs.get_copy(&tydesc_name);
3515-
let (_, visitor_object_ty) = ty::visitor_object_ty(tcx);
3516-
let td_ptr = ty::mk_ptr(ccx.tcx, ty::mt {
3517-
ty: tydesc_ty,
3518-
mutbl: ast::m_imm
3519-
});
3520-
(0, ~[ td_ptr, visitor_object_ty ], ty::mk_nil())
3521-
}
3522-
~"frame_address" => {
3523-
let fty = ty::mk_closure(ccx.tcx, ty::ClosureTy {
3524-
purity: ast::impure_fn,
3525-
sigil: ast::BorrowedSigil,
3526-
onceness: ast::Once,
3527-
region: ty::re_bound(ty::br_anon(0)),
3528-
bounds: ty::EmptyBuiltinBounds(),
3529-
sig: ty::FnSig {
3530-
bound_lifetime_names: opt_vec::Empty,
3531-
inputs: ~[ty::mk_imm_ptr(ccx.tcx, ty::mk_mach_uint(ast::ty_u8))],
3532-
output: ty::mk_nil()
3533-
}
3534-
});
3535-
(0u, ~[fty], ty::mk_nil())
3536-
}
3537-
~"morestack_addr" => {
3538-
(0u, ~[], ty::mk_nil_ptr(ccx.tcx))
3539-
}
3540-
~"memcpy32" => {
3541-
(0,
3542-
~[
3543-
ty::mk_ptr(tcx, ty::mt {
3544-
ty: ty::mk_u8(),
3545-
mutbl: ast::m_mutbl
3546-
}),
3547-
ty::mk_ptr(tcx, ty::mt {
3548-
ty: ty::mk_u8(),
3549-
mutbl: ast::m_imm
3550-
}),
3551-
ty::mk_u32()
3552-
],
3553-
ty::mk_nil())
3554-
}
3555-
~"memcpy64" => {
3556-
(0,
3557-
~[
3558-
ty::mk_ptr(tcx, ty::mt {
3559-
ty: ty::mk_u8(),
3560-
mutbl: ast::m_mutbl
3561-
}),
3562-
ty::mk_ptr(tcx, ty::mt {
3563-
ty: ty::mk_u8(),
3564-
mutbl: ast::m_imm
3565-
}),
3566-
ty::mk_u64()
3567-
],
3568-
ty::mk_nil())
3569-
}
3570-
~"memmove32" => {
3571-
(0,
3572-
~[
3573-
ty::mk_ptr(tcx, ty::mt {
3574-
ty: ty::mk_u8(),
3575-
mutbl: ast::m_mutbl
3576-
}),
3577-
ty::mk_ptr(tcx, ty::mt {
3578-
ty: ty::mk_u8(),
3579-
mutbl: ast::m_imm
3580-
}),
3581-
ty::mk_u32()
3582-
],
3583-
ty::mk_nil())
3584-
}
3585-
~"memmove64" => {
3586-
(0,
3587-
~[
3588-
ty::mk_ptr(tcx, ty::mt {
3589-
ty: ty::mk_u8(),
3590-
mutbl: ast::m_mutbl
3591-
}),
3592-
ty::mk_ptr(tcx, ty::mt {
3593-
ty: ty::mk_u8(),
3594-
mutbl: ast::m_imm
3595-
}),
3596-
ty::mk_u64()
3597-
],
3598-
ty::mk_nil())
3599-
}
3463+
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), param(ccx, 0)),
3464+
param(ccx, 0u)
3465+
],
3466+
ty::mk_nil())
3467+
}
3468+
~"needs_drop" => (1u, ~[], ty::mk_bool()),
3469+
3470+
~"atomic_cxchg" | ~"atomic_cxchg_acq"| ~"atomic_cxchg_rel" => {
3471+
(0,
3472+
~[
3473+
ty::mk_mut_rptr(tcx,
3474+
ty::re_bound(ty::br_anon(0)),
3475+
ty::mk_int()),
3476+
ty::mk_int(),
3477+
ty::mk_int()
3478+
],
3479+
ty::mk_int())
3480+
}
3481+
~"atomic_load" | ~"atomic_load_acq" => {
3482+
(0,
3483+
~[
3484+
ty::mk_imm_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int())
3485+
],
3486+
ty::mk_int())
3487+
}
3488+
~"atomic_store" | ~"atomic_store_rel" => {
3489+
(0,
3490+
~[
3491+
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int()),
3492+
ty::mk_int()
3493+
],
3494+
ty::mk_nil())
3495+
}
3496+
~"atomic_xchg" | ~"atomic_xadd" | ~"atomic_xsub" |
3497+
~"atomic_xchg_acq" | ~"atomic_xadd_acq" | ~"atomic_xsub_acq" |
3498+
~"atomic_xchg_rel" | ~"atomic_xadd_rel" | ~"atomic_xsub_rel" => {
3499+
(0,
3500+
~[
3501+
ty::mk_mut_rptr(tcx, ty::re_bound(ty::br_anon(0)), ty::mk_int()),
3502+
ty::mk_int()
3503+
],
3504+
ty::mk_int())
3505+
}
3506+
3507+
~"get_tydesc" => {
3508+
// FIXME (#3730): return *intrinsic::tydesc, not *()
3509+
(1u, ~[], ty::mk_nil_ptr(ccx.tcx))
3510+
}
3511+
~"visit_tydesc" => {
3512+
let tydesc_name = special_idents::tydesc;
3513+
assert!(tcx.intrinsic_defs.contains_key(&tydesc_name));
3514+
let (_, tydesc_ty) = tcx.intrinsic_defs.get_copy(&tydesc_name);
3515+
let (_, visitor_object_ty) = ty::visitor_object_ty(tcx);
3516+
let td_ptr = ty::mk_ptr(ccx.tcx, ty::mt {
3517+
ty: tydesc_ty,
3518+
mutbl: ast::m_imm
3519+
});
3520+
(0, ~[ td_ptr, visitor_object_ty ], ty::mk_nil())
3521+
}
3522+
~"frame_address" => {
3523+
let fty = ty::mk_closure(ccx.tcx, ty::ClosureTy {
3524+
purity: ast::impure_fn,
3525+
sigil: ast::BorrowedSigil,
3526+
onceness: ast::Once,
3527+
region: ty::re_bound(ty::br_anon(0)),
3528+
bounds: ty::EmptyBuiltinBounds(),
3529+
sig: ty::FnSig {
3530+
bound_lifetime_names: opt_vec::Empty,
3531+
inputs: ~[ty::mk_imm_ptr(ccx.tcx, ty::mk_mach_uint(ast::ty_u8))],
3532+
output: ty::mk_nil()
3533+
}
3534+
});
3535+
(0u, ~[fty], ty::mk_nil())
3536+
}
3537+
~"morestack_addr" => {
3538+
(0u, ~[], ty::mk_nil_ptr(ccx.tcx))
3539+
}
3540+
~"memmove32" => {
3541+
(0,
3542+
~[
3543+
ty::mk_ptr(tcx, ty::mt {
3544+
ty: ty::mk_u8(),
3545+
mutbl: ast::m_mutbl
3546+
}),
3547+
ty::mk_ptr(tcx, ty::mt {
3548+
ty: ty::mk_u8(),
3549+
mutbl: ast::m_imm
3550+
}),
3551+
ty::mk_u32()
3552+
],
3553+
ty::mk_nil())
3554+
}
3555+
~"memmove64" => {
3556+
(0,
3557+
~[
3558+
ty::mk_ptr(tcx, ty::mt {
3559+
ty: ty::mk_u8(),
3560+
mutbl: ast::m_mutbl
3561+
}),
3562+
ty::mk_ptr(tcx, ty::mt {
3563+
ty: ty::mk_u8(),
3564+
mutbl: ast::m_imm
3565+
}),
3566+
ty::mk_u64()
3567+
],
3568+
ty::mk_nil())
3569+
}
36003570
~"sqrtf32" => (0, ~[ ty::mk_f32() ], ty::mk_f32()),
36013571
~"sqrtf64" => (0, ~[ ty::mk_f64() ], ty::mk_f64()),
36023572
~"powif32" => {

branches/auto/src/libstd/cell.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,11 @@ Similar to a mutable option type, but friendlier.
2121
*/
2222

2323
#[mutable]
24-
#[deriving(Clone)]
24+
#[deriving(Clone, DeepClone, Eq)]
2525
pub struct Cell<T> {
2626
priv value: Option<T>
2727
}
2828

29-
impl<T: DeepClone> DeepClone for Cell<T> {
30-
fn deep_clone(&self) -> Cell<T> {
31-
Cell{value: self.value.deep_clone()}
32-
}
33-
}
34-
35-
impl<T:cmp::Eq> cmp::Eq for Cell<T> {
36-
fn eq(&self, other: &Cell<T>) -> bool {
37-
(self.value) == (other.value)
38-
}
39-
fn ne(&self, other: &Cell<T>) -> bool { !self.eq(other) }
40-
}
41-
4229
/// Creates a new full cell with the given value.
4330
pub fn Cell<T>(value: T) -> Cell<T> {
4431
Cell { value: Some(value) }

branches/auto/src/libstd/cleanup.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ struct AllocHeader { priv opaque: () }
3939
struct MemoryRegion { priv opaque: () }
4040

4141
#[cfg(target_arch="x86")]
42+
#[cfg(target_arch="arm")]
4243
struct Registers {
4344
data: [u32, ..16]
4445
}
4546

46-
#[cfg(target_arch="arm")]
4747
#[cfg(target_arch="mips")]
4848
struct Registers {
4949
data: [u32, ..32]

branches/auto/src/libstd/option.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,12 @@ use clone::DeepClone;
5454
#[cfg(test)] use str;
5555

5656
/// The option type
57-
#[deriving(Clone, Eq)]
57+
#[deriving(Clone, DeepClone, Eq)]
5858
pub enum Option<T> {
5959
None,
6060
Some(T),
6161
}
6262

63-
impl<T: DeepClone> DeepClone for Option<T> {
64-
fn deep_clone(&self) -> Option<T> {
65-
match *self {
66-
Some(ref x) => Some(x.deep_clone()),
67-
None => None
68-
}
69-
}
70-
}
71-
7263
impl<T:Ord> Ord for Option<T> {
7364
fn lt(&self, other: &Option<T>) -> bool {
7465
match (self, other) {

0 commit comments

Comments
 (0)