Commit Graph

87363 Commits

Author SHA1 Message Date
Mark Rousskov
4d5413bc1d Fix gpg signing in manifest builder
GPG versions 2.x+ require that --batch be passed if --passphrase-fd is
to be accepted.
2018-12-11 19:10:45 -07:00
Nicholas Nethercote
95a6262df1 Replace FileSearch::for_each_lib_search_path with search_paths.
Returning an iterator leads to nicer code all around.
2018-12-12 10:36:15 +11:00
Nicholas Nethercote
2bfe32cc93 Avoid regenerating the Vec<PathBuf> in FileSearch::search().
`FileSearch::search()` traverses one or more directories. For each
directory it generates a `Vec<PathBuf>` containing one element per file
in that directory.

In some benchmarks this occurs enough that the allocations done for the
`PathBuf`s are significant, and in practice a small number of
directories are being traversed over and over again. For example, when
compiling the `tokio-webpush-simple` benchmark, two directories are
traversed 58 times each. Each of these directories have more than 100
files.

This commit changes things so that all the `Vec<PathBuf>`s that will be
needed by a `Session` are precomputed when that `Session` is created;
they are stored in `SearchPath`. `FileSearch` gets a reference to the
necessary `SearchPath`s. This reduces instruction counts on several
benchmarks by 1--5%.

The commit also removes the barely-used `visited_dirs` hash in
`for_each_lib_searchPath`. It only detects if `tlib_path` is the same as
one of the previously seen paths, which is unlikely.
2018-12-12 10:36:15 +11:00
Nicholas Nethercote
f13006182c Introduce SearchPath and replace SearchPaths with Vec<SearchPath>.
It's more idiomatic, makes the code shorter, and will help with the next
commit.
2018-12-12 10:36:15 +11:00
Nicholas Nethercote
2640da7d13 Remove Session::sysroot().
Instead of maybe storing its own sysroot and maybe deferring to the one
in `Session::opts`, just clone the latter when necessary so one is
always directly available. This removes the need for the getter.
2018-12-12 10:36:15 +11:00
Nicholas Nethercote
0238bcc60d Avoid a useless FxHashSet::insert in FileSearch::for_each_lib_search_path. 2018-12-12 10:36:15 +11:00
Guillaume Gomez
b96186b8a7 Add missing urls in ffi module docs 2018-12-11 23:54:41 +01:00
Son
94c1c7328a Documentation for impl From for AtomicBool and other Atomic types 2018-12-12 09:41:12 +11:00
Nicholas Nethercote
0f68749260 Use a newtype_index! within Symbol.
This shrinks `Option<Symbol>` from 8 bytes to 4 bytes, which shrinks
`Token` from 24 bytes to 16 bytes. This reduces instruction counts by up
to 1% across a range of benchmarks.
2018-12-12 08:38:08 +11:00
Ralf Jung
8e994a2732 bump backtrace version to get prettier pretty-printing 2018-12-11 22:36:24 +01:00
Guillaume Gomez
24031466b7 Remove unneeded extra chars to reduce search-index size 2018-12-11 22:29:43 +01:00
Michael Howell
83fe6e4392 Use iterators instead of raw offsets in Windows argument parser 2018-12-11 13:06:18 -07:00
Piers Finlayson
b17a3f21c2 fix rust-lang/rust issue #50583 2018-12-11 20:02:16 +00:00
bors
8375ab4ff4 Auto merge of #53497 - fukatani:test-debuginfo-function-call, r=tromey
Test with gdb8.2 and add debuginfo printing function call test

As far as I can see, `print function()` is not tested. It is important feature for debugging.
2018-12-11 16:27:49 +00:00
Ralf Jung
45b97f2b8b miri: use backtrace crate printing instead of rolling our own 2018-12-11 15:53:35 +01:00
Jethro Beekman
5acab2d7d1 Always set the RDRAND and RDSEED features on SGX 2018-12-11 19:54:49 +05:30
Konrad Borowski
1006425769 Test capacity of ZST vector
Initially, #50233 accidentally changed the capacity of empty ZST. This
was pointed out during code review. This commit adds a test to prevent
capacity of ZST vectors from accidentally changing to prevent that
from happening again.
2018-12-11 15:07:09 +01:00
bors
3499575282 Auto merge of #56243 - RalfJung:test-deterministic, r=alexcrichton
libtest: Use deterministic HashMap, avoid spawning thread if there is no concurrency

It seems desirable to make a test and bench runner deterministic, which this achieves by using a deterministic hasher. Also, we we only have 1 thread, we don't bother spawning one and just use the main thread.

The motivation for this is to be able to run the test harness in miri, where we can neither access the OS RNG, nor spawn threads.
2018-12-11 14:04:15 +00:00
Unknown
e6bbf7ef8d Add function call test, Update gdb and test docker image install gdb by ppa. 2018-12-11 22:20:15 +09:00
varkor
510a9fffa2 Fix irrefutable matches on integer ranges 2018-12-11 11:16:53 +00:00
Ralf Jung
c28c28779c use an enum instead of bool 2018-12-11 11:02:23 +01:00
Oliver Scherer
5457b19fe9 Properly stage new feature gates 2018-12-11 10:43:40 +01:00
Oliver Scherer
134661917b Remove some dead code from sgx 2018-12-11 10:33:17 +01:00
Oliver Scherer
799cadb2bd Remove unnecessary feature gates from const fns 2018-12-11 10:32:39 +01:00
Oliver Scherer
8d0b64f16d Make const unsafe fn bodies unsafe 2018-12-11 10:27:00 +01:00
bors
3a31213371 Auto merge of #56703 - alexcrichton:fix-tools, r=Mark-Simulacrum
Fix build of the `build-manifest` tool

Accidentally broken in #56258!
2018-12-11 08:14:14 +00:00
Oliver Scherer
7d1b19cfe3 Diagnostics improvement! 2018-12-11 09:05:06 +01:00
Alexis Beingessner
d9c64e50a0
Typo
Co-Authored-By: RalfJung <post@ralfj.de>
2018-12-11 08:55:15 +01:00
Mark Rousskov
ddd8b416a6 Build manifest tool on mingw-check builder
This builder is not really the correct place to put this, but it
definitely has the time budget and checking this tool builds on just one
platform is more than sufficient.
2018-12-10 21:43:52 -08:00
Alex Crichton
98a38673ec Fix build of the build-manifest tool
Accidentally broken in #56258!
2018-12-10 19:34:47 -08:00
Wesley Wiser
771e8b82af [self-profiler] Add column for percent of total time 2018-12-10 22:25:52 -05:00
bors
4c0116e13f Auto merge of #56627 - alexcrichton:update-cargo, r=alexcrichton
Update Cargo submodule and its dependencies

Hopefully just another routine update!

So far this starts to enable the `std::arch` in stage0 builds of rustc.
This means that we may need stage0/not(stage0) in stdsimd itself, but
more and more code is starting to use `std::arch` so I think it's time
to start shifting the balance of work here.
2018-12-11 03:22:10 +00:00
Andy Russell
56413ecffc
fix intra-link resolution spans in block comments
This commit improves the calculation of code spans for intra-doc
resolution failures. All sugared doc comments should now have the
correct spans, including those where the comment is longer than the
docs.

It also fixes an issue where the spans were calculated incorrectly for
certain unsugared doc comments. The diagnostic will now always use the
span of the attributes, as originally intended.

Fixes #55964.
2018-12-10 21:08:26 -05:00
Michael Howell
55420f0f42 Fix iterator nits 2018-12-10 18:31:53 -07:00
Michael Howell
083585859b Fix nit
Rewrite it to not use `if let`.
2018-12-10 15:48:32 -07:00
aheart
f8c03b6ab7 Add lint for stlib 2018-12-11 00:45:39 +02:00
Michael Howell
05a22a72e4 Fix nits
Add comments explaining how we test this,
and use a slice for debugging instead of a clone of the iterator.
2018-12-10 15:37:50 -07:00
misagh
3d23e558e9 fix install broken link 2018-12-10 23:28:55 +01:00
Alex Crichton
b4110900bd Update Cargo submodule and its dependencies
Hopefully just another routine update!

So far this starts to enable the `std::arch` in stage0 builds of rustc.
This means that we may need stage0/not(stage0) in stdsimd itself, but
more and more code is starting to use `std::arch` so I think it's time
to start shifting the balance of work here.
2018-12-10 13:45:22 -08:00
bors
da1527cb06 Auto merge of #56688 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 5 pull requests

Successful merges:

 - #56491 (emit error with span for empty asserts)
 - #56633 (Fix right arrow size for crate filter)
 - #56641 (fix span for invalid number of parameters in trait method)
 - #56656 (Fix typo)
 - #56661 (Add regression test for ICE)

Failed merges:

r? @ghost
2018-12-10 21:42:20 +00:00
Michael Howell
5438465b68 Fix poorly-transcribed test case 2018-12-10 14:33:03 -07:00
Guillaume Gomez
a11de4171c
Rollup merge of #56661 - aelred:issue-55846, r=Mark-Simulacrum
Add regression test for ICE

Fixes #55846 with a minimal (or as best as I can manage) test case. I tested this against 1.30.0 manually to confirm it crashes.

The issue seemed to have something to do with associated types. It's possible someone with more knowledge can shrink the test case down further, or make it clearer.
2018-12-10 22:02:02 +01:00
Guillaume Gomez
b3f1650b34
Rollup merge of #56656 - BeatButton:liballoc_string_typo, r=Centril
Fix typo
2018-12-10 22:02:01 +01:00
Guillaume Gomez
b37ad661c7
Rollup merge of #56641 - GuillaumeGomez:span-trait-method-invalid-nb-parameters, r=estebank
fix span for invalid number of parameters in trait method

Fixes #56582.
2018-12-10 22:02:00 +01:00
Guillaume Gomez
33bf29155b
Rollup merge of #56633 - GuillaumeGomez:fix-right-arrow-display, r=QuietMisdreavus
Fix right arrow size for crate filter

This bug only appears when a crate has a long name:

<img width="1440" alt="screenshot 2018-12-08 at 16 36 21" src="https://user-images.githubusercontent.com/3050060/49687728-7de06180-fb07-11e8-8554-d32597351fac.png">

With this fix, it goes back to normal, whatever the size:

<img width="1440" alt="screenshot 2018-12-08 at 16 36 05" src="https://user-images.githubusercontent.com/3050060/49687730-8769c980-fb07-11e8-91b7-b5e1961211a2.png">

r? @QuietMisdreavus
2018-12-10 22:01:58 +01:00
Guillaume Gomez
dec7b19516
Rollup merge of #56491 - euclio:assert-error, r=estebank
emit error with span for empty asserts

Fixes #55547.
2018-12-10 22:01:57 +01:00
Michael Howell
08fbbbd89c Fix nitpicks
Switch to vec::IntoIter as our backing double-ended iterator.

Fix incorrect comment.
2018-12-10 13:12:47 -07:00
Alex Crichton
07a3d69089 Update the stdsimd submodule
Includes some new stabilized intrinsics for the wasm32 target!

Closes #56292
2018-12-10 12:05:33 -08:00
Michael Howell
81de5d9519 Remove dependency on shell32.dll #56510 2018-12-10 12:09:50 -07:00
Andy Russell
7f7045f847
improve diagnostics for invalid external docs 2018-12-10 12:34:46 -05:00