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 5 pull requests #63653

Closed
wants to merge 11 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Aug 17, 2019

Successful merges:

Failed merges:

r? @ghost

timvermeulen and others added 11 commits July 17, 2019 01:16
This will help reproducible builds, as the sysroot depends on the
working directory.
As suggested by @alexcrichton, the sysroot only loads libraries that
are themselves tracked.
Currently, librustc_llvm builds are not reproducible because the LLVM
files it compiles use the debug version of llvm_unreachable, which
uses __FILE__.  To fix this, we propagate NDEBUG from bootstrap if
applicable and use it when compiling librustc_llvm.
Split off from rust-lang#62855

This PR deerializes the declaration `Span` and attributes for all
procedural macros from their underlying function definitions.
This allows Rustdoc to properly render doc comments
and source links when inlining procedural macros across crates
…tmcm

Override Cycle::try_fold

It's not very pretty, but I believe this is the simplest way to correctly implement `Cycle::try_fold`. The following may seem correct:
```rust
loop {
    acc = self.iter.try_fold(acc, &mut f)?;
    self.iter = self.orig.clone();
}
```
...but this loops infinitely in case `self.orig` is empty, as opposed to returning `acc`. So we first have to fully iterate `self.orig` to check whether it is empty or not, and before _that_, we have to iterate the remaining elements of `self.iter`.

This should always call `self.orig.clone()` the same amount of times as repeated `next()` calls would.

r? @scottmcm
…r=eddyb,petrochenkov

Serialize additional data for procedural macros

Split off from rust-lang#62855

This PR serializes the declaration `Span` and attributes for all
procedural macros. This allows Rustdoc to properly render doc comments
and source links when performing inlinig procedural macros across crates
Hash the remapped sysroot instead of the original.

One of the reasons that rustc builds are not reproducible is because the --sysroot path is dependent on the current directory.  We can fix this by hashing the remapped sysroot instead of the original when applicable.

Note that with this patch, the hash will stay the same if both the sysroot and the remapped path change.  However, given that if the contents of the sysroot change the hash will also stay the same, this might be acceptable.  I would appreciate feedback on the best way to do this.

This helps rust-lang#34902, although it does not fix it by itself.
rustc_codegen_utils: account for 1-indexed anonymous lifetimes in v0 mangling.

I don't really understand why `anonymize_late_bound_regions` starts with `BrAnon(1)` instead of `BrAnon(0)`, but it does (maybe @nikomatsakis knows?): https://github.com/rust-lang/rust/blob/c43d03a19f326f4a323569328cc501e86eb6d22e/src/librustc/ty/fold.rs#L696-L712

Thankfully, the mangling format and demangler implementations are fine, and I just needed to offset the anonymized lifetime indices by `1` to get the correct mangling.

cc @alexcrichton @michaelwoerister
Modify librustc_llvm to pass -DNDEBUG while compiling.

Currently, librustc_llvm builds are not reproducible because the LLVM files it compiles use the debug version of llvm_unreachable, which uses __FILE__.  To fix this, we propagate NDEBUG from bootstrap if applicable and use it when compiling librustc_llvm.

r? @alexcrichton
@Centril
Copy link
Contributor Author

Centril commented Aug 17, 2019

@bors r+ p=5 rollup=never

@bors
Copy link
Contributor

bors commented Aug 17, 2019

📌 Commit 84b7c28 has been approved by Centril

@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 Aug 17, 2019
@bors
Copy link
Contributor

bors commented Aug 17, 2019

⌛ Testing commit 84b7c28 with merge d15f4acf68ffd34adfc68b377e59fe6d6fb136a9...

@bors
Copy link
Contributor

bors commented Aug 17, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-freebsd of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-17T08:26:12.6491373Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-17T08:26:12.6491625Z 
2019-08-17T08:26:12.6492002Z   git checkout -b <new-branch-name>
2019-08-17T08:26:12.6492233Z 
2019-08-17T08:26:12.6492737Z HEAD is now at d15f4acf6 Auto merge of #63653 - Centril:rollup-sdu26ew, r=Centril
2019-08-17T08:26:12.6664727Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-17T08:26:12.6667682Z ==============================================================================
2019-08-17T08:26:12.6667970Z Task         : Bash
2019-08-17T08:26:12.6668025Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-17T09:06:06.7734604Z == clock drift check ==
2019-08-17T09:06:06.7747840Z   local time: Sat Aug 17 09:06:06 UTC 2019
2019-08-17T09:06:07.0513472Z   network time: Sat, 17 Aug 2019 09:06:07 GMT
2019-08-17T09:06:07.0515824Z == end clock drift check ==
2019-08-17T09:06:08.4240074Z ##[error]Bash exited with code '1'.
2019-08-17T09:06:08.4278024Z ##[section]Starting: Upload CPU usage statistics
2019-08-17T09:06:08.4280592Z ==============================================================================
2019-08-17T09:06:08.4280677Z Task         : Bash
2019-08-17T09:06:08.4280728Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@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 Aug 17, 2019
@Centril Centril closed this Aug 17, 2019
@Centril Centril deleted the rollup-sdu26ew branch August 17, 2019 09:14
@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.

7 participants