Commit Graph

59793 Commits

Author SHA1 Message Date
Andrew Paseltiner
75fe66e349 Implement placement-in protocol for Vec 2016-12-23 04:16:28 +00:00
bors
17d873c2db Auto merge of #38538 - estebank:outdated-fixme-3300, r=petrochenkov
Remove outdated FIXME comment

Removed outdated FIXME comment referencing #3300 to allow anonymous items.
2016-12-22 10:36:00 +00:00
Esteban Küber
39d6483bc1 Remove outdated FIXME comment
Removed FIXME comment referencing #3300.
2016-12-22 00:38:10 -08:00
bors
c217ab6c8d Auto merge of #38427 - brson:relnotes, r=alexcrichton
1.14 release notes

[Rendered](https://github.com/brson/rust/blob/relnotes/RELEASES.md).

Is there anything I'm missing? Were there any library stabilizations?

The most interesting thing this time seems to be rustup, then compile time opts, `..` matches, cargo exposing `cfg` values to build scripts. This release also has wasm support, but it's pretty rough. Might be worth hyping up all the same. ARM MUSL targets.

There are a large number of compatibility notes. Might be worth talking about that.

Relevant prlo links: goo.gl/PGz2Ds, goo.gl/KV23Qv, goo.gl/g7ku6D.
2016-12-21 19:46:27 +00:00
bors
5fbf3bf841 Auto merge of #38488 - srinivasreddy:rf_collections, r=aturon
run rustfmt on libcollections folder
2016-12-21 15:30:20 +00:00
bors
1b38776c1f Auto merge of #38302 - Mark-Simulacrum:trans-cleanup, r=eddyb
Cleanup old trans

This is a cleanup of old trans, with the following main points:
 - Remove the `build.rs` API (prefer using `Builder` directly, which is now passed where needed through `BlockAndBuilder`).
 - Remove `Block` (inlining it into `BlockAndBuilder`)
 - Remove `Callee::call`, primarily through inlining and simplification of code.
 - Thinned `FunctionContext`:
   - `mir`, `debug_scopes`, `scopes`, and `fn_ty` are moved to `MirContext`.
   - `param_env` is moved to `SharedCrateContext` and renamed to `empty_param_env`.
   - `llretslotptr` is removed, replaced with more careful management of the return values in calls.
   - `landingpad_alloca` is inlined into cleanup.
   - `param_substs` are moved to `MirContext`.
   - `span` is removed, it was never set to anything but `None`.
   - `block_arena` and `lpad_arena` are removed, since neither was necessary (landing pads and block are quite small, and neither needs arena allocation).
 - Fixed `drop_in_place` not running other destructors in the same function.

Fixes #35566 (thanks to @est31 for confirming).
2016-12-21 10:38:22 +00:00
bors
439c3128d7 Auto merge of #38099 - GuillaumeGomez:cast_suggestions, r=nikomatsakis
Cast suggestions

r? @nikomatsakis
2016-12-21 07:28:16 +00:00
Mark Simulacrum
0013d4cdf6 Fix rebase errors. 2016-12-20 20:37:19 -07:00
bors
92d46006bb Auto merge of #38506 - alexcrichton:fix-makefiles, r=brson
mk: Fix compile with makefiles

A tweak was made to dependencies in #38451 but the makefiles weren't updated to
accompany this. Instead of trying to integerate the `build_helper` crate into
the makefiles (which currently isn't present) this commit takes the approach of
just duplicating the required logic, which should be small enough for now.
2016-12-21 03:09:14 +00:00
Mark Simulacrum
079abd0b1e Reuse cleanup pad declared at start of block. 2016-12-20 20:04:46 -07:00
Mark Simulacrum
c1bc5e51d6 Improve cache quality for eh_personality. 2016-12-20 20:04:46 -07:00
Mark Simulacrum
a9b5c63d43 Move eh_unwind_resume into CrateContext
Also improves cache quality.
2016-12-20 20:04:46 -07:00
Mark Simulacrum
a811f60834 Simplify get_landing_pad by inlining UnwindKind. 2016-12-20 20:04:45 -07:00
Mark Simulacrum
654131cb53 Add unreachable() after calls to eh_unwind_resume. 2016-12-20 20:04:45 -07:00
Mark Simulacrum
07cf2a9005 Simplify callee by removing is_indirect branch. 2016-12-20 20:04:45 -07:00
Mark Simulacrum
57914f626b Move eh_personality() onto CrateContext 2016-12-20 20:04:45 -07:00
Mark Simulacrum
3198797050 Remove outdated comment 2016-12-20 20:04:45 -07:00
Mark Simulacrum
bd009dc444 Remove fn_ty from FunctionContext 2016-12-20 20:04:44 -07:00
Mark Simulacrum
15b9b27bb0 slice_for_each gives a reference already 2016-12-20 20:04:44 -07:00
Mark Simulacrum
295ea0d6c3 Reduce coerce_unsized_into to one call
We cannot inline due to it being recursive.
2016-12-20 20:04:44 -07:00
Mark Simulacrum
98a13ffe44 Remove outdated comment 2016-12-20 20:04:44 -07:00
Mark Simulacrum
b9f1064760 Inline make_drop_glue 2016-12-20 20:04:44 -07:00
Mark Simulacrum
6a1ec55c47 Remove needless check 2016-12-20 20:04:43 -07:00
Mark Simulacrum
0d5a8ad110 Move get_landing_pad onto DropVal. 2016-12-20 20:04:43 -07:00
Mark Simulacrum
6f368e6da0 Use fn_ty directly 2016-12-20 20:04:43 -07:00
Mark Simulacrum
d55e73954a Do not use BAB after calling unreachable.
This does not make unreachable and other terminators take self by-value
because it is deemed too difficult. We would need to create by-value
methods on BAB that call into Builder, due to the Deref to builder.
2016-12-20 20:04:43 -07:00
Mark Simulacrum
6fac0a1a84 Change *.fcx.ccx to *.ccx 2016-12-20 20:04:43 -07:00
Mark Simulacrum
15c9e5e35b Mutate llargs instead of reconstructing it. 2016-12-20 20:04:42 -07:00
Mark Simulacrum
88202c5b83 Replace bcx.ccx() with bcx.ccx 2016-12-20 20:04:41 -07:00
Mark Simulacrum
f103ea4f89 Remove unecessary logic. 2016-12-20 20:03:36 -07:00
Mark Simulacrum
f11721a13e Add helper function to set debug locations 2016-12-20 20:03:35 -07:00
Mark Simulacrum
22bf541e27 Clean up uses of set_personality_fn.
Remove gnu/msvc constructors for Funclet; these are worse for
readability than explicit Some/None.
2016-12-20 20:03:35 -07:00
Mark Simulacrum
5ef85dd57e Change param_env to empty_param_env 2016-12-20 20:03:35 -07:00
Mark Simulacrum
7f87163071 Simplify funclets creation. 2016-12-20 20:03:35 -07:00
Mark Simulacrum
5301d380b6 Remove unused bcx from LocalAnalyzer. 2016-12-20 20:03:35 -07:00
Mark Simulacrum
0256f60461 Move debug info check into create_function_debug_context 2016-12-20 20:03:34 -07:00
Mark Simulacrum
a445199afb Remove public ccx function on MirContext 2016-12-20 20:03:34 -07:00
Mark Simulacrum
7f5dffbb19 Make debuginfo take debug_context instead of MirContext 2016-12-20 20:03:34 -07:00
Mark Simulacrum
dd1890f7f4 Remove unreachable call to unreachable 2016-12-20 20:03:34 -07:00
Mark Simulacrum
6e3d8cda2c Fix and cleanup callee shims 2016-12-20 20:03:34 -07:00
Mark Simulacrum
f9f1406eef Rebase fixes 2016-12-20 20:03:33 -07:00
Mark Simulacrum
63a0d85457 Make add_incoming_to_phi call slightly less confusing. 2016-12-20 20:03:33 -07:00
Mark Simulacrum
2bda3b7acb Inline and simplify init_cpad 2016-12-20 20:03:33 -07:00
Mark Simulacrum
4c7041ea7d Don't special case abort/unreachable intrinsics 2016-12-20 20:03:33 -07:00
Mark Simulacrum
0a71b38803 Remove llretslotptr from FunctionContext 2016-12-20 20:03:33 -07:00
Mark Simulacrum
e10695f161 Move param_substs onto MirContext 2016-12-20 20:03:32 -07:00
Mark Simulacrum
a42a3429fe Move param_env onto SharedCrateContext, and move functions which need the ParamEnv onto it. 2016-12-20 20:03:32 -07:00
Mark Simulacrum
2b9a0efef4 Move debug_context to MirContext from FunctionContext 2016-12-20 20:03:32 -07:00
Mark Simulacrum
fc8c280fbc Remove lifetime parameter 2016-12-20 20:03:32 -07:00
Mark Simulacrum
a802b9f75f Inline get_funclet 2016-12-20 20:03:31 -07:00