Commit Graph

51441 Commits

Author SHA1 Message Date
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
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
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
Eduard Burtescu
9723a3bc37 Move simd_ffi gating from trans to typeck. 2016-03-17 17:51:58 +02:00
Eduard Burtescu
b47fcb8375 trans: Use fmt::Debug for debugging instead of ad-hoc methods. 2016-03-17 17:51:58 +02:00
bors
be989acabd Auto merge of #32263 - frewsxcv:compiletest-ignored-expected, r=nikomatsakis
Stop ignoring expected note/help messages in compiletest suite.

Original issue: https://github.com/rust-lang/rust/issues/21195

Relevant PR: https://github.com/rust-lang/rust/pull/30778

Prior to this commit, if a compiletest testcase included the text
"HELP:" or "NOTE:" (note the colons), then it would indicate to the
compiletest suite that we should verify "help" and "note" expected
messages.

This commit updates this check to also check "HELP" and "NOTE" (not the
absense of colons) so that we always verify "help" and "note" expected
messages.
2016-03-17 07:52:30 -07:00
bors
abb1515c53 Auto merge of #32237 - alexcrichton:rustbuild-make-dist, r=brson
rustbuild: Implement `make dist`

This commit implements the `make dist` command in the new rustbuild build
system, porting over `dist.mk` and `prepare.mk` into Rust. There's a huge amount
of complexity between those two files, not all of which is likely justified, so
the Rust implementation is *much* smaller.

Currently the implementation still shells out to rust-installer as well as some
python scripts, but ideally we'd rewrite it all in the future to not shell out
and be in Rust proper.
2016-03-17 02:35:32 -07:00
bors
3b765f44a6 Auto merge of #32285 - oli-obk:fix/const_bitshift, r=eddyb
const eval: don't assume the rhs of a bitshift is of any particular type

[regression found](https://internals.rust-lang.org/t/regression-report-stable-2016-03-03-vs-nightly-2016-03-15/3250) in jpeg-decoder
2016-03-16 19:44:30 -07:00
Manish Goregaokar
52e064c39d Add test for silenced unused params in derive 2016-03-17 08:11:46 +05:30
Manish Goregaokar
76b3523ac0 Re-add double underscores in derive (fixes #32292) 2016-03-17 08:11:44 +05:30
Corey Farwell
abd1cea145 Stop ignoring expected note/help messages in compiletest suite.
Original issue: https://github.com/rust-lang/rust/issues/21195

Relevant PR: https://github.com/rust-lang/rust/pull/30778

Prior to this commit, if a compiletest testcase included the text
"HELP:" or "NOTE:" (note the colons), then it would indicate to the
compiletest suite that we should verify "help" and "note" expected
messages.

This commit updates this check to also check "HELP" and "NOTE" (not the
absense of colons) so that we always verify "help" and "note" expected
messages.
2016-03-16 21:53:58 -04:00
Alex Crichton
6cc06b36c4 rustbuild: Implement make dist
This commit implements the `make dist` command in the new rustbuild build
system, porting over `dist.mk` and `prepare.mk` into Rust. There's a huge amount
of complexity between those two files, not all of which is likely justified, so
the Rust implementation is *much* smaller.

Currently the implementation still shells out to rust-installer as well as some
python scripts, but ideally we'd rewrite it all in the future to not shell out
and be in Rust proper.
2016-03-16 17:15:55 -07:00
bors
6e0f2f2f05 Auto merge of #32284 - jseyfried:name_conflict_diagnostics, r=eddyb
Resolve: improve diagnostics for duplicate definitions and imports

This PR improves and regularizes the diagnostics for duplicate definitions and imports.

After this PR, the second of two duplicate definitions/imports will have the following form:
> a(n) [value|type|module|trait|extern crate] named \`*name*\` has already been [defined|imported] in this [module|block|trait|enum]

with a note referencing this first of the two duplicate definitions/imports:
> previous [definition|import] of \`*name*\` here

The error indices remain unchanged.

r? @eddyb
2016-03-16 16:18:12 -07:00
bors
eeb062b8b1 Auto merge of #31746 - erickt:newline, r=sfackler
syntax: Always pretty print a newline after doc comments

Before this patch, code that had a doc comment as the first
line, as in:

```rust
/// Foo
struct Foo;
```

Was pretty printed into:

```rust
///Foostruct Foo;
```

This makes sure that that there is always a trailing newline
after a doc comment.

Closes #31722
2016-03-16 14:20:36 -07:00
bors
fd5603b6fc Auto merge of #32228 - jonas-schievink:diag1, r=sanxiyn
Normalize return type when checking for E0269

Fixes #31597

First time dealing with normalization. Maybe `normalize_associated_type` would be better here, but it seems to imply it's only used during trans.
2016-03-16 08:02:15 -07:00
bors
e68d40edf4 Auto merge of #32280 - japaric:rt, r=alexcrichton
update compiler-rt submodule

fixes #32194

also see rust-lang/compiler-rt#17

r? @alexcrichton
2016-03-16 05:26:06 -07:00
Jonas Schievink
96d9408dd9 Resolve conflicts and extend the test 2016-03-16 13:22:35 +01:00
Jonas Schievink
4dbb01ff65 Use fully_normalize, unwrapping its result 2016-03-16 12:19:58 +01:00
Jonas Schievink
f0b0a4ff2a Normalize return type when checking for E0269
Fixes #31597
2016-03-16 12:19:58 +01:00