Skip to content

Rollup of 18 pull requests - #39609

Closed
frewsxcv wants to merge 53 commits into
rust-lang:masterfrom
frewsxcv:rollup
Closed

Rollup of 18 pull requests#39609
frewsxcv wants to merge 53 commits into
rust-lang:masterfrom
frewsxcv:rollup

Conversation

Aaron Powerand others added 30 commits January 1, 2017 20:15
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.
Closesrust-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
According to the LLVM reference:
> A value of 0 or an omitted align argument means that the operation has
the ABI alignment for the target.
So loads/stores of fields of packed structs need to have their align set
to 1. Implement that by tracking the alignment of `LvalueRef`s.
Fixesrust-lang#39376.
This commit deletes the old build system located in the `mk` folder as it's now
been obsoleted for two cycles and is replaced by rustbuild.
This commit deletes swaths of the configure script related to the old build
system which are now no longer needed when using rustbuild.
We no longer need these builders as we're no longer testing the old build
system.
These are all now no longer needed that we've only got rustbuild in tree.
Some of these have long since expired, some are no longer in use now that we've
jettisoned the makefiles, but none of them should be needed any more.
* Add version info to channel.rs as main.mk is no longer available
* Update `Makefile.in` used with bootstrap to not try to require `mk/util.mk`
* Update the `dist` target to avoid the makefile pieces
Don't re-run tests in compiletest if all the inputs haven't changed, manage
stamp files in the output directory.
The function was a footgun because it created `undef` references to
ZSTs, which could cause trouble were they to leak to user code.
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
* Moved algorithm explanation to module docs
* Added ``` before and after the examples
* Explanation of the `rbox`, `ibox` and `cbox` names
* Added docs about the breaking types to `Breaks`
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
estebankand others added 19 commits February 6, 2017 16:59
Improve error message for uninferrable types rust-lang#38812
Hello,
I tried to improve the error message for uninferrable types. The error code is `E0282`.
```rust
error[E0282]: type annotations needed
--> /home/cengizIO/issue38812.rs:2:11
|
2 | let x = vec![];
| - ^^^^^^ cannot infer type for `T`
| |
| consider giving `x` a type
|
= note: this error originates in a macro outside of the current crate
```
and
```rust
error[E0282]: type annotations needed
--> /home/cengizIO/issue38812.rs:2:15
|
2 | let (x,) = (vec![],);
| ---- ^^^^^^ cannot infer type for `T`
| |
| consider giving a type to pattern
|
= note: this error originates in a macro outside of the current crate
```
Rust compiler now tries to find uninferred `local`s with type `_` and adds them into the error message.
I'm probably wrong on wording that I used. Please feel free to suggest better alternatives.
Thanks @nikomatsakis for mentoring 🍺
Any comments/feedback is more than welcome!
Thank you
Add support for test suites emulated in QEMU
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.
Closesrust-lang#33114
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
Pass -fPIC to native compiles on 32-bit
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
A few documentation improvements for `syntax::print::pp`
* Moved algorithm explanation to module docs
* Added ``` before and after the examples
* Explanation of the `rbox`, `ibox` and `cbox` names
* Added docs about the breaking types to `Breaks`
…lexcrichton
Extract collections benchmarks to libcollections/bench
Good suggestion from @stjepangrust-lang#39484 (comment)
r? @alexcrichton
… r=michaelwoerister
Handle the case where an intermediate node can't be recreated
This solution grows the graph, but this is quite the corner case.
r? @michaelwoerister
…, r=nikomatsakis
back: Limit the number of LLVM worker threads.
This should fix issue rust-lang#39568.
Also see rust-lang#39280.
r? @nikomatsakis
emit "align 1" metadata on loads/stores of packed structs
According to the LLVM reference:
> A value of 0 or an omitted align argument means that the operation has
the ABI alignment for the target.
So loads/stores of fields of packed structs need to have their align set
to 1. Implement that by tracking the alignment of `LvalueRef`s.
Fixesrust-lang#39376.
r? @eddyb
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.
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
Fixrust-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.
@rust-highfive

Copy link
Copy Markdown
Contributor

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.

@frewsxcv

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=10

@bors

bors commented Feb 7, 2017

Copy link
Copy Markdown
Collaborator

📌 Commit d18deea has been approved by frewsxcv

@bors

bors commented Feb 7, 2017

Copy link
Copy Markdown
Collaborator

⌛ Testing commit d18deea with merge 6a0c19f...

@bors

bors commented Feb 7, 2017

Copy link
Copy Markdown
Collaborator

💔 Test failed - status-travis

@frewsxcvfrewsxcv closed this Feb 7, 2017
@frewsxcv
frewsxcv deleted the rollup branch February 7, 2017 05:36
@CentrilCentril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

18 participants

@frewsxcv@rust-highfive@bors@aturon@Centril@alexcrichton@jakllsch@king6cong@cengiz-io@phungleson@nikomatsakis@michaelwoerister@arielb1@Keruspe@bjorn3@dumbbell@est31@estebank