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 34 pull requests #39632

Closed
wants to merge 106 commits into from
Closed

Rollup of 34 pull requests #39632

wants to merge 106 commits into from

Conversation

frewsxcv
Copy link
Member

@frewsxcv frewsxcv commented Feb 8, 2017

Aaron Power and 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.

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
…steveklabnik

Add missing urls for current_dir

r? @steveklabnik
rustbuild: Clean build/dist on `make clean`

Prevents stale artifacts from sticking around by accident!
@rust-highfive
Copy link
Collaborator

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
Member Author

frewsxcv commented Feb 8, 2017

@bors r+ p=10

@bors
Copy link
Contributor

bors commented Feb 8, 2017

📌 Commit 48cab72 has been approved by frewsxcv

@bors
Copy link
Contributor

bors commented Feb 8, 2017

⌛ Testing commit 48cab72 with merge dbab148...

@bors
Copy link
Contributor

bors commented Feb 8, 2017

💔 Test failed - status-appveyor

@frewsxcv
Copy link
Member Author

frewsxcv commented Feb 8, 2017

@bors retry

spurious according to nagisa

@bors
Copy link
Contributor

bors commented Feb 8, 2017

⌛ Testing commit 48cab72 with merge e3b4f8b...

@frewsxcv
Copy link
Member Author

frewsxcv commented Feb 8, 2017

@bors r- force

1 similar comment
@frewsxcv
Copy link
Member Author

frewsxcv commented Feb 8, 2017

@bors r- force

@frewsxcv frewsxcv closed this Feb 8, 2017
@frewsxcv frewsxcv deleted the rollup branch February 8, 2017 03:30
@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.