Eduard Burtescu
b63a5eed6e
mir: Support RustCall ABI functions.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
92e485874e
mir: Load FatPtr constants instead of keeping them indirect.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
eb43d95211
mir: Don't load the discriminant, it's already in immediate form.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
d3a6d67fb8
mir: Don't use ConstVal when adjustments are involved, as they would be lost.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
9cc5ee359a
mir: Unsize ConstVal::ByteStr before comparing &[u8] against it.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
ccc5e0732a
mir: Ignore noop casts (e.g. when as
used for coercion).
2016-03-17 21:51:53 +02:00
Eduard Burtescu
1de6a9682f
mir: Don't use ConstVal kinds that contain local NodeId's.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
b38627dafb
mir: Use the right form of GEPi for indexing slices vs arrays.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
56417b3732
mir: Monomorphize LvalueTy's of projections.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
f9c06abc21
trans: Simplify "try" intrinsic.
2016-03-17 21:51:53 +02:00
Eduard Burtescu
bffb0decc8
tests: Use arguments in codegen/stores.rs to turn aggregates into immediates.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
6c0674e613
trans: Remove the foreign module.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
aec63821d0
trans: Handle all function setup for all ABIs via FnType.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
bd0a849f3b
trans: datum::lvalue_scratch_datum doesn't need a move-into-closure trick.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
03993882d6
trans: Handle calls for all ABIs through FnType.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
9e036c0ff0
trans: Provide the FnType for a direct call via Callee::direct_fn_type.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
80d939fd22
trans: Handle ignored arguments/returns uniformly.
2016-03-17 21:51:52 +02:00
Eduard Burtescu
7454b5c61d
trans: Set the calling convention in apply_attrs_callsite.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
77f3484148
trans: Apply all attributes through FnType.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
de5f8244f2
trans: Use llvm::Attributes directly in ArgTy.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
c7172a9935
rustc_llvm: An AttrBuilder that's not completely wasteful.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
763b6cba37
rustc_llvm: Update the Attribute bitflags and remove OtherAttribute.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
1d7c9bd137
trans: use sizing_type_of for interacting with potentially incomplete types.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
d492d09f31
trans: Apply ZExt and StructRet attributes uniformly.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
ac60318cf5
trans: Only mutate ArgTy's in C ABI handling, don't create them.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
03942056aa
trans: Handle type_of for Rust fn's via abi::FnType.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
f6bbbe1070
trans: Remove dropflag-unaware type_is_newtype_immediate shortcut.
2016-03-17 21:51:51 +02:00
Eduard Burtescu
cf0ea786ff
tests: Force instantiation of extern fns.
2016-03-17 21:51:50 +02:00
Eduard Burtescu
200d001784
trans: Pass fat pointers as two arguments even for FFI.
2016-03-17 21:51:50 +02:00
Eduard Burtescu
3342da4113
trans: Don't treat closure types like function types in declare.
2016-03-17 21:51:50 +02:00
Eduard Burtescu
da66431d06
trans: Combine cabi and back::abi into abi.
2016-03-17 21:51:50 +02:00
Eduard Burtescu
cdfad40735
trans: Condense the fn instantiation logic into callee.
2016-03-17 21:51:47 +02:00
Eduard Burtescu
b05556e06d
trans: Rename MonoId to Instance and start using it in more places.
2016-03-17 21:51:32 +02:00
Katze
a6e077ebdf
documentation fix in RELEASES.md
...
f32 should probably be denoted as 0.0 as it might improve readability.
Signed-off-by: benaryorg <binary@benary.org>
2016-03-17 20:33:01 +01:00
bors
b12b4e4e32
Auto merge of #32294 - Manishearth:derive-fix, r=alexcrichton
...
Re-add double underscores in derive (fixes #32292 )
@durka, sanity-check, please?
<s>Don't merge this yet, I need to add a test and test it locally.</s>
ready for review
2016-03-17 11:08:44 -07:00
Tang Chenglong
79244c3a6b
let
introduces a statement
...
I changes *expression* to *statement* to make more accurate, because in Rust, `let` introduces a declaration statement.
2016-03-18 01:17:19 +08:00
Alex Crichton
af65d81490
std: Revert addition of into_ascii_*
methods
...
The addition of these methods in #31335 required adding impls of the trait for
the `String` and `Vec<T>` types. This unfortunately caused a regression (#32074 )
in type inference for using these methods which the libs team has decided to not
push forward with. These methods were stabilized in #32020 which was intended to
get backported to beta, but the backport hasn't happened just yet. This commit
reverts both the addition and stabilization of these methods.
One proposed method of handling this, in #32076 , was to move the methods to an
extra trait to avoid conflicts with type inference. After some discussion,
however, the libs team concluded that we probably want to reevaluate what we're
doing here, so discussion will continue on the tracking issue, #27809 .
2016-03-17 09:39:10 -07:00
Eduard Burtescu
d6e72c48dd
trans: Don't store extra copies of intrinsics ID/substs.
2016-03-17 18:19:50 +02:00
Eduard Burtescu
89766a81ef
trans: use Cell instead of RefCell where it suffices.
2016-03-17 18:19:50 +02:00
Eduard Burtescu
b122d1636a
trans: simplify the declare interface.
2016-03-17 18:19:50 +02:00
Eduard Burtescu
c6d214bdeb
trans: Revamp and empower cabi::FnType.
2016-03-17 18:19:50 +02:00
Eduard Burtescu
9221b9118b
trans: Pass the Rust type for the closure env in type_of_rust_fn.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
7011e30352
trans: Remove the old ExprOrMethodCall.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
55b5a365ef
trans: Remove unused return type argument from declare_cfn.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
5af3c12cfc
trans: Move static item handling to consts.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
c3f856e7e2
trans: Remove dead code for variants and structs from get_item_val.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
e0970498c7
trans: Move trans_foreign_mod and trans_impl to trans_item.
2016-03-17 18:19:29 +02:00
Eduard Burtescu
16201d45f1
trans: Get functions and do calls only through Callee.
2016-03-17 17:52:30 +02:00
Eduard Burtescu
062a05dde8
metadata: Constrain FoundAst::FoundParent to an Item.
2016-03-17 17:51:58 +02:00
Eduard Burtescu
b918e37eb3
metedata: Remove the unnecessary indirection to astencode.
2016-03-17 17:51:58 +02:00