Commit Graph

69163 Commits

Author SHA1 Message Date
Wesley Wiser
8281e883dd Switch several crate-wide queries to use eval_always
Closes #45238
2017-10-26 18:47:47 -04:00
Wesley Wiser
c1436c3aa5 Handle eval_always queries in force()
Part of #45238
2017-10-26 18:47:46 -04:00
Wesley Wiser
9d72fc67a4 Allow declaring a DepNode as eval_always
Part of #45238
2017-10-26 18:47:46 -04:00
Wesley Wiser
512f16a172 [incremental] Add support for eval always queries
Part of #45238
2017-10-26 18:47:39 -04:00
Alex Crichton
ca18537197 Bump to 1.23 and update bootstrap
This commit updates the bootstrap compiler, bumps the version to 1.23, updates
Cargo, updates books, and updates crates.io dependencies
2017-10-26 13:59:18 -07:00
bors
847f4fcf5f Auto merge of #45522 - michaelwoerister:fix-stable-hasher-cross, r=arielb1
Fix 32- vs 64-bit platform instability in StableHasher.

This might already be enough to fix issue https://github.com/rust-lang/rust/issues/45500.

r? @alexcrichton
2017-10-26 20:58:08 +00:00
bors
b218a02ad8 Auto merge of #45519 - michaelwoerister:dedup-errors, r=arielb1
Don't emit the same compiler diagnostic twice.

This PR makes the compiler filter out diagnostic messages that have already been emitted during the same compilation session.
2017-10-26 18:16:15 +00:00
Virgil Palanciuc
52d0e51473 relax restriction - allow errors to be emmitted within macro spans, as long as the same error message has not been used before (i.e. use the None as the span key, for errors that occur within macros) 2017-10-26 09:34:39 -07:00
Laurent Arnoud
11d758a7a8
Use expect for current_dir on librustc/session mod 2017-10-26 18:29:48 +02:00
Michael Woerister
10ffff8bc6 incr.comp.: Update overflow-check logic in HIR hashing. 2017-10-26 16:23:31 +02:00
Michael Woerister
eea916068c incr.comp.: Fix invalid DepNode assignment in HIR map. 2017-10-26 16:23:31 +02:00
bors
b0b80f8c22 Auto merge of #45380 - dotdash:arg_copies, r=arielb1
Avoid unnecessary copies of arguments that are simple bindings

Initially MIR differentiated between arguments and locals, which
introduced a need to add extra copies assigning the argument to a
local, even for simple bindings. This differentiation no longer exists,
but we're still creating those copies, bloating the MIR and LLVM IR we
emit.

Additionally, the current approach means that we create debug info for
both the incoming argument (marking it as an argument), and then
immediately shadow it a local that goes by the same name. This can be
confusing when using e.g. "info args" in gdb, or when e.g. a debugger
with a GUI displays the function arguments separately from the local
variables, especially when the binding is mutable, because the argument
doesn't change, while the local variable does.
2017-10-26 14:14:15 +00:00
Corey Farwell
04f27f01cb Improve docs for UdpSocket::set_nonblocking.
Closes https://github.com/rust-lang/rust/issues/44050.
2017-10-26 10:05:54 -04:00
kennytm
bea5ed6fd8
cargotest: Update xsv.
This fixes a flaky test which caused spurious failures in #45348 and #45380
2017-10-26 21:50:45 +08:00
steveklabnik
4c6942d262 Remove 'just' in diagnostics
This is better writing
2017-10-26 09:27:20 -04:00
Björn Steinbrink
8ad7c284d7 Add comments to clarify function argument ownership 2017-10-26 12:54:35 +02:00
Björn Steinbrink
0473a4f1d8 Avoid unnecessary copies of arguments that are simple bindings
Initially MIR differentiated between arguments and locals, which
introduced a need to add extra copies assigning the argument to a
local, even for simple bindings. This differentiation no longer exists,
but we're still creating those copies, bloating the MIR and LLVM IR we
emit.

Additionally, the current approach means that we create debug info for
both the incoming argument (marking it as an argument), and then
immediately shadow it a local that goes by the same name. This can be
confusing when using e.g. "info args" in gdb, or when e.g. a debugger
with a GUI displays the function arguments separately from the local
variables, especially when the binding is mutable, because the argument
doesn't change, while the local variable does.
2017-10-26 12:54:34 +02:00
Michael Woerister
54818b3e99 Update some comments about StableHasher. 2017-10-26 11:10:07 +02:00
Mikhail Modin
08b1fe39c2 add graphvis DOT files to dump mir directory 2017-10-26 11:14:08 +03:00
bors
e0febe7144 Auto merge of #45488 - oli-obk:ctfe_resolve, r=eddyb
Resolve types properly in const eval

r? @eddyb

cc @arielb1
2017-10-26 07:04:33 +00:00
bors
56dc171a2f Auto merge of #45464 - sinkuu:ice_44851, r=jseyfried
Visit attribute tokens in `DefCollector` and `BuildReducedGraphVisitor`

Fixes #44851.
2017-10-26 04:32:16 +00:00
bors
fa29bcedd1 Auto merge of #45096 - DSpeckhals:update-rls-data-for-save-analysis, r=alexcrichton
Update rls-data for save analysis

rls-data: 0.10 -> 0.11

This will allow for more fine-grained save analysis for enum variants (tuple and struct).

The first commit updates rls-data, and makes the changes to dump_visitor. The second commit updates the rls submodule, and removes "members" that were deleted from that update in src/Cargo.toml.

Note, that when building the project, rustfmt-nightly was updated in Cargo.lock. If these changes should be excluded, I can revert it.

cc/ @nrc
2017-10-26 00:58:52 +00:00
sinkuu
9f1a8bf318 Add FIXME 2017-10-26 09:42:24 +09:00
Virgil Palanciuc
4e16e30b07 fix #44953 - The “use of unstable library feature 'rustc_private'” error is very repetitive 2017-10-25 16:56:13 -07:00
bors
e847f30f57 Auto merge of #45532 - kennytm:rollup, r=kennytm
Rollup of 7 pull requests

- Successful merges: #45059, #45212, #45398, #45483, #45496, #45508, #45526
- Failed merges:
2017-10-25 22:21:44 +00:00
kennytm
851d1c7365 Rollup merge of #45526 - alexcrichton:test-more-asm, r=aturon
ci: Test more asmjs again

This was accidentally added in #45352, forgot to back it out!
2017-10-26 03:02:54 +08:00
kennytm
5ae94d4fe2 Rollup merge of #45508 - bgermann:master, r=alexcrichton
Disable jemalloc for sparcv9-sun-solaris

Similar to #36994, rust programs segfault on SPARC64 Solaris machines.
2017-10-26 03:02:53 +08:00
kennytm
7ccdc105cf Rollup merge of #45496 - kennytm:bootstrap-fix-extension-check, r=alexcrichton
rustbuild: Fix `no output generated` error for next bootstrap cargo.

Due to rust-lang/cargo#4570, a `*.dll.lib` file is uplifted when building dynamic libraries on Windows. The current bootstrap code does not understand files with multiple extensions, and will instead assume `xxxx.dll` is the file name. This caused a `no output generated` error because it tries to search for `xxxx.dll-hash.lib` inside the `deps/` folder, while it should check for `xxxx-hash.dll.lib` instead.

This PR is blocking #45285, see https://github.com/rust-lang/rust/pull/45285#issuecomment-338454149 and the rest of the comments for detail.
2017-10-26 03:02:52 +08:00
kennytm
86360b7ef5 Rollup merge of #45483 - mbrubeck:hash, r=alexcrichton
Implement Hash for raw pointers to unsized types

This is useful for some niche cases, like a hash table of slices or trait objects where the key is the raw pointer.  Example use case: https://docs.rs/by_address
2017-10-26 03:02:51 +08:00
kennytm
6402797f4d Rollup merge of #45398 - integer32llc:reassignment, r=arielb1
Correct misspelling in error text: re-assignment => reassignment

[reassignment is the correct spelling](https://www.thefreedictionary.com/reassignment) rather than re-assignment; this error message looks silly in the book next to text trying to be grammatically correct :-/

Will this cause any stability/backcompat type issues?
2017-10-26 03:02:50 +08:00
kennytm
fc48893845 Rollup merge of #45212 - GuillaumeGomez:sidebar-fixed, r=QuietMisdreavus
Limit the sidebar height

The sidebar is now fixed, which means its scrolling is independent of the main page now.

r? @rust-lang/docs
2017-10-26 03:02:49 +08:00
kennytm
bea6136b4a Rollup merge of #45059 - tmccombs:pid, r=alexcrichton
Add current_pid function

Fixes #44971
2017-10-26 03:02:48 +08:00
steveklabnik
a82ffa490c Fix formatting in unstable book's attr-literals section 2017-10-25 14:23:13 -04:00
bors
f9d2416594 Auto merge of #44636 - GuillaumeGomez:little-error-msg, r=michaelwoerister
Add short error message-format

Fixes #42653.
2017-10-25 18:19:42 +00:00
Matt Brubeck
c2c1910d69 Implement Hash for raw pointers to unsized types 2017-10-25 11:07:13 -07:00
Alex Crichton
36822ba39a ci: Test more asmjs again
This was accidentally added in #45352, forgot to back it out!
2017-10-25 09:58:48 -07:00
Alex Crichton
6511e46753 std: Optimize thread park/unpark implementation
This is an adaptation of alexcrichton/futures-rs#597 for the standard library.
The goal here is to avoid locking a mutex on the "fast path" for thread
park/unpark where you're waking up a thread that isn't sleeping or otherwise
trying to park a thread that's already been notified. Mutex performance varies
quite a bit across platforms so this should provide a nice consistent speed
boost for the fast path of these functions.
2017-10-25 08:35:51 -07:00
bors
2f5ae25a34 Auto merge of #45513 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 5 pull requests

- Successful merges: #45361, #45461, #45465, #45486, #45502
- Failed merges:
2017-10-25 15:34:03 +00:00
Michael Woerister
6faba5bf8d Fix librustc_driver unit test after API change. 2017-10-25 17:33:03 +02:00
Carol (Nichols || Goulding)
0e46cf4db4 Reword to avoid using either re-assignment or reassignment in errors 2017-10-25 11:29:52 -04:00
Alex Crichton
2f3c412c84 std: Disable usage of mmap allocator in libbacktrace
This is sort of a long overdue change from the investigation in #29293
and #37477. The released binaries of rustc don't have debug information and so
don't actively suffer this problem but this can hit local development of rustc
and also larger programs compiled against libstd generating backtraces.

The main purpose of the mmap allocator in libacktrace is to be usable from a
signal handler, but we don't do that, so the normal allocator using malloc/free
should work well for us.
2017-10-25 07:51:36 -07:00
Michael Woerister
89909c76a3 Fix 32 vs 64 bit platform instability in StableHasher. 2017-10-25 16:49:55 +02:00
Michael Woerister
87691846e3 incr.comp.: Add documentation for OnDiskCache. 2017-10-25 15:43:58 +02:00
Michael Woerister
f55425dfcd incr.comp.: Implement query diagnostic persistence. 2017-10-25 15:43:48 +02:00
Michael Woerister
9736474b6c Update ui tests for error message deduplication. 2017-10-25 15:02:41 +02:00
Michael Woerister
621d6f0f6d Update compile-fail tests for error message deduplication. 2017-10-25 15:02:26 +02:00
Michael Woerister
6fccd71f75 librustc_errors: Don't emit the same error message twice. 2017-10-25 15:01:06 +02:00
bors
f764eaf453 Auto merge of #45476 - Xanewok:fingerprint-disambiguator, r=michaelwoerister
Use 128 bit instead of Symbol for crate disambiguator

As discussed on gitter, this changes `crate_disambiguator` from Strings to what they are represented as, a 128 bit number.

There's also one bit I think also needs to change, but wasn't 100% sure how: [create_root_def](f338dba297/src/librustc/hir/map/definitions.rs (L468-L482)). Should I change `DefKey::root_parent_stable_hash` to accept `Fingerprint` as crate_disambiguator to quickly combine the hash of `crate_name` with the new 128 bit hash instead of a string for a disambiguator?

r? @michaelwoerister

EDIT: Are those 3 tests `mir-opt` failing, because the hash is different, because we calculate it a little bit differently (storing directly instead of hashing the hex-string representation)? Should it be updated like in #45319?
2017-10-25 12:38:10 +00:00
Michael Woerister
67f3dc3fee Rename some run-pass tests so they don't crash when executed from eCryptfs. 2017-10-25 13:15:04 +02:00
Oliver Schneider
1ee0ff3bfe
Add a regression test for the const eval type resolution 2017-10-25 10:17:20 +02:00