-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 34 pull requests #39632
Rollup of 34 pull requests #39632
Conversation
This commit adds support to the build system to execute test suites that cannot run natively but can instead run inside of a QEMU emulator. A proof-of-concept builder was added for the `arm-unknown-linux-gnueabihf` target to show off how this might work. In general the architecture is to have a server running inside of the emulator which a local client connects to. The protocol between the server/client supports compiling tests on the host and running them on the target inside the emulator. Closes rust-lang#33114
This is apparently a regression from 1.14.0 to 1.15.0. Previously we passed `-fPIC` to C compilers on i686 targets, but the `gcc` crate apparently [explicitly] didn't do this. I don't recall why that was avoided but it was [previously passed by the makefiles][mk] and this seems to have [caused a regression][regression] in Firefox, so this commit reverts back to passing `-fPIC`. [explicitly]: rust-lang/cc-rs@362bdf20 [mk]: https://github.com/rust-lang/rust/blob/c781fc4a/mk/cfg/i686-unknown-linux-gnu.mk#L11 [regression]: https://bugzilla.mozilla.org/show_bug.cgi?id=1336155
Previously AdtDef variants contained ConstInt for each discriminant, which did not really reflect the actual type of the discriminants. Moving the type into AdtDef allows to easily put the type into metadata and also saves bytes from ConstVal overhead for each discriminant. Also arguably the code is cleaner now :)
This removes another special case of Switch by replacing it with the more general SwitchInt. While this is more clunky currently, there’s no reason we can’t make it nice (and efficient) to use.
Also use a Cow to avoid full Vec for all SwitchInts
First example of optimisation that applies to many more cases than originally.
Previously it used to build a switch in a way that didn’t preserve the invariat of SwitchInt. Now it builds it in an optimal way too, where otherwise branch becomes all the branches which did not have partial variant drops.
This ends up not really mattering because we generate a plain conditional branch in LLVM either way.
…, r=nikomatsakis back: Limit the number of LLVM worker threads. This should fix issue rust-lang#39568. Also see rust-lang#39280. r? @nikomatsakis
rustbuild: support setting verbosity in config.toml Most if not all the configuration is settable trhough config.toml but the verbosity isn't yet. This avoids having to pass -v to x.py on each command if you want verbosity to be always on.
…, r=frewsxcv Re-write the doc index page Clarify and reorganize. Add the section for the bookshelf. More to come here in the near future! Part of rust-lang#39588
…_file, r=alexcrichton Display correct filename with --test option Fixes rust-lang#39592. With the current files: ```rust pub mod foo; /// This is a Foo; /// /// ``` /// println!("baaaaaar"); /// ``` pub struct Foo; /// This is a Bar; /// /// ``` /// println!("fooooo"); /// ``` pub struct Bar; ``` ```rust // note the whitespaces /// ``` /// println!("foo"); /// ``` pub fn foo() {} ``` It displays: ``` ./build/x86_64-apple-darwin/stage1/bin/rustdoc --test test.rs running 3 tests test test.rs - line 13 ... ok test test.rs - line 5 ... ok test foo.rs - line 2 ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured ``` ``` ` `` println!("lol"); ` `` asdjnfasd asd ``` It displays: ``` ./build/x86_64-apple-darwin/stage1/bin/rustdoc --test foo.md running 1 test test <input> - line 3 ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured ``` r? @alexcrichton
Fix branch name Cargo's downloaded from This landed on beta in rust-lang#39546 and this is bringing the patch back to master.
…brson Fix a manifest-generation bug on beta Right now all Cargo release tarballs are 'nightly', they're not on the standard channels yet.
…aarch64-unknown-freebsd, r=alexcrichton liblibc: Update to include `aarch64-unknown-freebsd` support
Fix ICE when accessing mutably an immutable enum Fix rust-lang#39544.
Unignore u128 test for stage 0,1 Even more SNAP cleanup. Follow-up of rust-lang#39519. Sorry, I didn't check twice.
Improve format float * Move float into mod float like in test * Add more tests for f64 f32, lower exp, upper exp, which can come if handy in the future if we want refactor further * Use `assert_eq` for clearer error messages
…ata, r=alexcrichton Choose different name for metadata obj-file to avoid clashes with user-chosen names. Fixes rust-lang#39585 and probably rust-lang#39508. Incremental compilation assigns different names to obj-files than regular compilation. If a crate is called "metadata" this can lead to a clash between the root module's obj-file and the obj-file containing crate-metadata. This PR assigns a name to the metadata obj-file that cannot clash with other obj-file because it contains a `.` which is not allowed in a Rust module identifier. r? @alexcrichton cc @nikomatsakis
add missing comma
…steveklabnik Add missing urls for current_dir r? @steveklabnik
rustbuild: Clean build/dist on `make clean` Prevents stale artifacts from sticking around by accident!
Bump stable release date cc rust-lang#39623
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @aturon (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
@bors r+ p=10 |
📌 Commit 48cab72 has been approved by |
⌛ Testing commit 48cab72 with merge dbab148... |
💔 Test failed - status-appveyor |
@bors retry spurious according to nagisa |
⌛ Testing commit 48cab72 with merge e3b4f8b... |
@bors r- force |
1 similar comment
@bors r- force |
syntax::print::pp
#39557, Extract collections benchmarks to libcollections/bench #39561, Handle the case where an intermediate node can't be recreated #39582, back: Limit the number of LLVM worker threads. #39583, rustbuild: support setting verbosity in config.toml #39587, Re-write the doc index page #39593, Display correct filename with --test option #39597, Fix branch name Cargo's downloaded from #39598, Fix a manifest-generation bug on beta #39599, liblibc: Update to includeaarch64-unknown-freebsd
support #39601, Fix ICE when accessing mutably an immutable enum #39602, Unignore u128 test for stage 0,1 #39604, Improve format float #39615, Choose different name for metadata obj-file to avoid clashes with user-chosen names. #39619, add missing comma #39620, Add missing urls for current_dir #39621, rustbuild: Clean build/dist onmake clean
#39622, Bump stable release date #39624