Commit Graph

68731 Commits

Author SHA1 Message Date
Santiago Pastorino
b5a5556dd4 Generate DepNodeIndexNew using newtype_index macro 2017-10-04 23:51:43 -03:00
Santiago Pastorino
3502bec032 Make newtype_index get debug_name using reflection 2017-10-04 23:50:53 -03:00
Santiago Pastorino
9af7426b47 Make newtype_index macro use full path to resolve constants 2017-10-04 23:50:53 -03:00
Santiago Pastorino
c8549a1586 Generate Idx in nll using newtype_index! 2017-10-04 23:50:53 -03:00
Santiago Pastorino
3d230af80b Move newtype_index to rustc_data_structures 2017-10-04 23:50:53 -03:00
Santiago Pastorino
f5cef21569 Convert regions to IndexVec 2017-10-04 23:50:53 -03:00
Paul Faria
0c5de8633c Store a new Region value every time we create a new region variable 2017-10-04 23:50:53 -03:00
bgermann
4e69d2e3eb Merge dist-solaris with cross2 builder 2017-10-05 01:22:30 +02:00
Alex Crichton
a70c5cb68f rustc: Don't create empty codegen units
This'll end up just creating a bunch of object files that otherwise wouldn't
exist, so skip that extra work if possible.
2017-10-04 16:21:38 -07:00
James Tucker
fb03bb72b9 zircon: update some more zx and lp constants
* Use size_t where size_t is used, while it's not critical on our
 specifically supported architectures, this is more accurate.
 * Update HND_SPECIAL_COUNT to the correct value, and give it the size
 that enum is likely to be.
2017-10-04 16:06:53 -07:00
bgermann
a82891ab5c Rename dist-fuchsia builder to cross2 2017-10-05 00:40:36 +02:00
James Tucker
17a2a766ac zircon: the type of zx_handle_t is now unsigned
This is a kernel ABI change that landed today. I noticed some other ABI
issues and have left a note to cleanup once they are better defined.
2017-10-04 15:12:44 -07:00
Eduard-Mihai Burtescu
ac25a4ac32 rustc_trans: do not set NoCapture for anonymous lifetime &T arguments. 2017-10-05 01:06:14 +03:00
Alexis Beingessner
a6dea41d64 Make -Cpanic=abort imply -Zmutable-noalias 2017-10-04 17:29:37 -04:00
bors
d7e73e4b1a Auto merge of #44901 - michaelwoerister:on-demand-eval, r=nikomatsakis
incr.comp.: Switch to red/green change tracking, remove legacy system.

This PR finally switches incremental compilation to [red/green tracking](https://github.com/rust-lang/rust/issues/42293) and completely removes the legacy dependency graph implementation -- which includes a few quite costly passes that are simply not needed with the new system anymore.

There's still some documentation to be done and there's certainly still lots of optimizing and tuning ahead -- but the foundation for red/green is in place with this PR. This has been in the making for a long time `:)`

r? @nikomatsakis
cc @alexcrichton, @rust-lang/compiler
2017-10-04 19:14:41 +00:00
Niv Kaminer
559adb7e06 avoid using match keyword as module name 2017-10-04 16:17:25 +00:00
QuietMisdreavus
2af12b7e45 add the issue number to doc_masked's feature gate 2017-10-04 10:47:45 -05:00
bors
417ffc98df Auto merge of #44890 - nvzqz:str-box-transmute, r=alexcrichton
Remove mem::transmute used in Box<str> conversions

Given that https://github.com/rust-lang/rust/pull/44877 is failing, I decided to make a separate PR. This is done with the same motivation: to avoid `mem::transmute`-ing non `#[repr(C)]` types.
2017-10-04 15:14:15 +00:00
Garrett Berg
ad9b1ed9c2 groundwork for #45009: rustc_dirty/clean enhancements 2017-10-04 07:20:59 -06:00
Malo Jaffré
7428806bf9 Fix some E-needstest issues.
Also ignore `attr-on-trait` test on stage-1 to keep `./x.py test --stage 1` successful.

Fixes #30355.
Fixes #33241.
Fixes #36400.
Fixes #37887.
Fixes #44578.
2017-10-04 15:12:01 +02:00
Niv Kaminer
51542a9192 seperate and move miscellaneous benchmarks to librustc 2017-10-04 12:21:15 +00:00
Guillaume Gomez
e1df72fdab Add missing urls for Mutex 2017-10-04 14:03:23 +02:00
Aidan Hobson Sayers
4a6ede78ee Don't unwrap work item results as the panic trace is useless
Fixes #43402 now there's no multithreaded panic printouts

Also update a comment
2017-10-04 12:46:43 +01:00
Felix S. Klock II
86ca5cf942 Unit tests for gathering and reporting move-errors from mir-borrowck.
This commit tests *just* the subset of the tests that were previously
ICE'ing and where now AST- and MIR-borrowck both match in terms of the
errors they report.

In other words: there remain *other* tests that previously ICE'd, and
now no longer ICE, but their remains a divergence between the errors
reported by AST-borrowck and by MIR-borrowck.
2017-10-04 13:29:55 +02:00
bors
fd8099f0ec Auto merge of #44882 - mikhail-m1:master, r=pnkfelix
add notes to report_conflicting_borrow MIR borrowck

part of #44596
2017-10-04 11:26:12 +00:00
Felix S. Klock II
5a16ef4936 Made move_paths::MoveError take span param in cannot_move_out_of ctor.
Implicitly threaded `Location` through MoveData construction via a
`Gatherer` struct (so that we could look up the span corresponding to
the location when we need to signal an error).
2017-10-04 12:48:36 +02:00
Felix S. Klock II
117586e6e9 Add method to Mir that maps a Location to its SourceInfo. 2017-10-04 12:48:28 +02:00
Felix S. Klock II
43fb82d2fa mir-borrowck: Gather move errors during MoveData construction and report them.
Currently is using DUMMY_SP as the associated span; a follow-up commit
will pass in appropriate spans when constructing the errors.
2017-10-04 12:48:20 +02:00
Felix S. Klock II
fdd7d13c24 Move E0509 diagnostic into mod borrowck_errors shared between ast- and mir-borrowck. 2017-10-04 12:47:53 +02:00
Felix S. Klock II
a995b56a5e Move E0508 diagnostic into mod borrowck_errors shared between ast- and mir-borrowck. 2017-10-04 12:47:46 +02:00
Felix S. Klock II
a12cefb497 Move E0507 diagnostic into mod borrowck_errors shared between ast- and mir-borrowck.
(Had to modify signature of `report_cannot_move_out_of` slightly to
satisfy requirements of newly added `fn cannot_move_out_of` method.)
2017-10-04 12:47:40 +02:00
Michael Woerister
0454a41bec incr.comp.: Address review comments. 2017-10-04 12:35:56 +02:00
Mikhail Modin
c68b10f5ee add notes to report_conflicting_borrow MIR borrowck 2017-10-04 10:35:42 +03:00
bors
eabef0608b Auto merge of #44905 - Pirh:process_abort_docs, r=steveklabnik
Update docs for process::abort

Remove a typo and explain the relationship to `panic!`.

Part of #29370

r? @steveklabnik
2017-10-04 05:43:00 +00:00
bors
f1938cf13b Auto merge of #44999 - pnkfelix:mir-borrowck-fix-assert-left-right, r=nikomatsakis
Overlapping borrows can point to different lvalues.

Overlapping borrows can point to different lvalues.

There's always a basis for the overlap, so instead of removing the assert entirely, I instead pass in the prefix that we found and check that it actually is a prefix of both lvalues.

Fix #44829
2017-10-04 03:28:24 +00:00
bors
2db48d7fcb Auto merge of #44979 - hinaria:master, r=dtolnay
make `backtrace = false` compile for windows targets.

when building for windows with `backtrace = false`, `libstd` fails to compile because some modules that use items from `sys_common::backtrace::*` are still included, even though those modules aren't used or referenced by anything.

`sys_common::backtrace` doesn't exist when the backtrace feature is turned off.

--

i've also added `#[cfg(feature = "backtrace")]` to various items that exist exclusively to support `mod backtrace` since the compilation would fail since they would be unused in a configuration with backtraces turned off.
2017-10-04 00:57:30 +00:00
Alexis Beingessner
36471293e6 Add -Zmutable-noalias flag 2017-10-03 19:49:45 -04:00
bors
bd90aa6daa Auto merge of #44895 - stephaneyfx:master, r=dtolnay
Made `fs::copy` return the length of the main stream

On Windows with the NTFS filesystem, `fs::copy` would return the sum of the
lengths of all streams, which can be different from the length reported by
`metadata` and thus confusing for users unaware of this NTFS peculiarity.

This makes `fs::copy` return the same length `metadata` reports which is the
value it used to return before PR #26751. Note that alternate streams are still
copied; their length is just not included in the returned value.

This change relies on the assumption that the stream with index 1 is always the
main stream in the `CopyFileEx` callback. I could not find any official
document confirming this but empirical testing has shown this to be true,
regardless of whether the alternate stream is created before or after the main
stream.

Resolves #44532
2017-10-03 22:19:40 +00:00
bors
4502e2aa9c Auto merge of #44949 - QuietMisdreavus:rustdoctest-dirs, r=nikomatsakis
let htmldocck.py check for directories

Since i messed this up during https://github.com/rust-lang/rust/pull/44613, i wanted to codify this into the rustdoc tests to make sure that doesn't happen again.
2017-10-03 19:38:33 +00:00
Matt
3264c836bb Optimize comparison functions of Iterator
Replaced matching on tuples which led to less performant code generation.
2017-10-04 01:04:15 +08:00
Garrett Berg
c5c3614c18 related to #44924: update incr compilation for struct_defs.rs 2017-10-03 11:03:57 -06:00
Maik Klein
b3d85fc2dd Typo in librustc/README.md 2017-10-03 18:57:52 +02:00
bors
835e3e5078 Auto merge of #44922 - zilbuz:issue-44596/E0594, r=pnkfelix
MIR borrowck: move span_label to `borrowck_errors.rs`

The calls to `span_label` are moved and factorized for:
* E0503 (`cannot_use_when_mutably_borrowed()`)
* E0506 (`cannot_assign_to_borrowed()`)

Additionnally, the error E0594 (`cannot_assign_static()`) has been factorized between `check_loan.rs` and `borrowc_check.rs`.

Part of #44596
2017-10-03 16:42:26 +00:00
bgermann
80fe86f8c7 Add build environment for Solaris
This can be used to build rust-std.

The dilos illumos distribution was chosen, because illumos is free software
as opposed to Oracle Solaris and dilos is the only illumos distribution that
supports x86_64 and sparcv9 at the same level.
2017-10-03 14:48:39 +02:00
bors
8891044e89 Auto merge of #44896 - qmx:move-resolve-to-librustc, r=arielb1
Move monomorphize::resolve() to librustc

this moves `monomorphize::resolve(..)` to librustc, and re-enables inlining for some trait methods, fixing #44389

@nikomatsakis I've kept the calls to the new `ty::Instance::resolve(....)` always `.unwrap()`-ing for the moment, how/do you want to add more debugging info via `.unwrap_or()` or something like this?

we still have some related `resolve_*` functions on monomorphize, but I wasn't sure moving them was into the scope for this PR too.

@eddyb mind to take a look too?
2017-10-03 12:18:13 +00:00
Felix S. Klock II
aac64c4756 Overlapping borrows can point to different lvalues.
There's always a basis for the overlap, so instead of removing the
assert entirely, I instead pass in the prefix that we found and check
that it actually is a prefix of both lvalues.

Fix #44829
2017-10-03 14:02:25 +02:00
Michael Woerister
c96d0bff94 incr.comp.: Fix some merge fallout. 2017-10-03 13:50:55 +02:00
Philip Craig
9bbd7a3b3f Add fixme regarding remapping paths for doctests 2017-10-03 20:36:53 +10:00
Suriyaa ✌️️
2d108ec00b Use HTTPS protocol for chat.mibbit.com 2017-10-03 12:36:16 +02:00
Philip Craig
3a225c77bb Rename FileMap::path and change to an Option 2017-10-03 19:47:33 +10:00