Skip to content
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 13 pull requests #48577

Closed
wants to merge 32 commits into from
Closed

Rollup of 13 pull requests #48577

wants to merge 32 commits into from

Conversation

milesand and others added 27 commits February 19, 2018 10:34
Currently, calling pow may panic in case of overflow, and the function
does not have non-panicking counterparts. Thus, it would be beneficial
to add those in.
Previously, if the gdb command was available, but threw an error, compiletest would panic.  This is obviously not good. Now, gdb is treated as missing if calling `gdb --version` does not output anything on stdout.
Make a minimal commitment for stabilization.  More impls are likely in future, but are not necessary at this time.
This ensures that the entry function is never elided due to inlining, even with `inline(always)`. Fixes rust-lang#47783.

There were a couple of possible ways of addressing this issue; I simply picked the one that seemed most direct. A warning could be appropriate, but considering using inlining hints in other places it doesn't apply also throws no warnings, and it seems like an edge case anyway, I haven't added one for now.
…on-ice, r=michaelwoerister

Report non-standard compile flags on ICE

Some ICEs (such as the recent rust-lang#48248) only happens when a non-standard compiler flag is provided to rustc, but users don't always report the used flags. This can slow down reproducing the issue, so this PR shows all the non-standard compiler flags in the ICE error message.

For example, the output of rust-lang#48248 with this PR is:

```
error: internal compiler error: [...]

thread 'rustc' panicked at [...]
note: Run with `RUST_BACKTRACE=1` for a backtrace.

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: [...]

note: rustc 1.25.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -C link-dead-code
```

### Open questions

* At the moment, only `-C` and `-Z` flags are shown by default, and all the ones provided by cargo in a standard build are ignored: I did this to only show the flags that probably caused the ICE, and to remove some noise from the message. This removed flags like `opt-level` and `debuginfo` though, could those be useful for reproducing ICEs?
Add non-panicking variants of pow for integer types

Currently, calling pow may panic in case of overflow, and the function does not have non-panicking counterparts. Thus, it would be beneficial to add those in.

Closes rust-lang#48291.
Relevant tracking issue: rust-lang#48320
…rotatee, r=alexcrichton

Stabilize [T]::rotate_{left,right}

rust-lang#41891
…mpl-fix, r=QuietMisdreavus

Fix auto trait impl rustdoc ice

Fixes rust-lang#48463.

r? @QuietMisdreavus
…ichton

Add support for powerpc-unknown-linux-gnuspe

This PR adds support for the embedded PowerPC variant "e500". On Linux, this architecture is usually called "powerpcspe", it is a 32-bit PowerPC architecture. The main difference between normal 32-bit PowerPC and PowerPCSPE is the lack of Altivec instructions and the additional SPE instruction set.

This architecture is supported in Debian through an unofficial port.
…, r=michaelwoerister

Handle gdb command failure gracefully in compiletest

Previously, if the gdb command was available, but threw an error, compiletest would panic.  This is obviously not good. Now, gdb is treated as missing if calling `gdb --version` does not output anything on stdout.
…n, r=nikomatsakis

Restrict the Termination impls to simplify stabilization

Make a minimal commitment in preparation for stabilization.  More impls, or broader ones, are likely in future, but are not necessary at this time and are more controversial.

cc rust-lang#48453 (comment)
r? @nikomatsakis
…ster

Ensure main() always has external linkage

This ensures that the entry function is never elided due to inlining, even with `inline(always)`. Fixes rust-lang#47783.

There were a couple of possible ways of addressing this issue; I simply picked the one that seemed most direct. A warning could be appropriate, but considering using inlining hints in other places it doesn't apply also throws no warnings, and it seems like an edge case anyway, I haven't added one for now.
@rust-highfive
Copy link
Collaborator

r? @Mark-Simulacrum

(rust_highfive has picked a reviewer for you, use r? to override)

@kennytm
Copy link
Member Author

kennytm commented Feb 27, 2018

@bors r+ p=12

@bors
Copy link
Contributor

bors commented Feb 27, 2018

📌 Commit e3c3a64 has been approved by kennytm

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 27, 2018
@bors
Copy link
Contributor

bors commented Feb 27, 2018

⌛ Testing commit e3c3a6456d1aece207e00a3a69c62d3913a83ea9 with merge a42ae7c7830071ba667a8203f550f2f6a6055bb0...

@bors
Copy link
Contributor

bors commented Feb 27, 2018

💔 Test failed - status-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 27, 2018
@Mark-Simulacrum
Copy link
Member

Clippy(?) cannot build after stabilizing rotate_{left,right}.

https://travis-ci.org/rust-lang/rust/jobs/346745888#L6057-L6063

…ishearth

Fix error-format to properly send JSON to stdout

Since we take Cargo's JSON messages as well we need to specifically send
rustc's messages out so we don't hide them.

r? @Manishearth
…bank

Fix FreeBSD struct returning ABI.

FreeBSD has had a patch similar to this for a while. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223047.

This reworks 6774e7a to be more specific about what `compute_abi_info` is checking for per target.
…lexcrichton

Encode linker arguments as UTF-16 on MSVC platforms

This is a forward-port of rust-lang#48455 to the master branch
@kennytm kennytm changed the title Rollup of 12 pull requests Rollup of 13 pull requests Feb 27, 2018
@kennytm
Copy link
Member Author

kennytm commented Feb 27, 2018

@bors r+

Removed #48555.
Added #48381, #48548.

@bors
Copy link
Contributor

bors commented Feb 27, 2018

📌 Commit 2b114da has been approved by kennytm

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 27, 2018
@bors
Copy link
Contributor

bors commented Feb 27, 2018

⌛ Testing commit 2b114da with merge 6f87daeb824b568436b74affc1cad6824460fac4...

@bors
Copy link
Contributor

bors commented Feb 27, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 27, 2018
@kennytm
Copy link
Member Author

kennytm commented Feb 27, 2018

#46903.

Will roll a new one tomorrow, thus closing.

@kennytm kennytm closed this Feb 27, 2018
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.