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 4 pull requests #65925

Closed
wants to merge 15 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Oct 29, 2019

Successful merges:

Failed merges:

r? @ghost

traxys and others added 15 commits October 28, 2019 00:57
Those annotation are silently ignored rather than begin validated
against compiler output. Update them before validation is enabled,
to avoid test failures.
When both error patterns and error annotations are present in an ui
test, only error patterns are validated against the output.

Replace the error pattern with an error annotation to avoid silently
ignoring the other error annotation.
Since 8ec9d72, in the case of a local
macro expansion, the errors are now matched to macro definition
location. Update test cases accordingly.
Previously, when compilation succeeded, neither error patterns nor error
annotation would be validated. Additionally, when compilation failed,
only error patterns would be validated if both error patterns and error
annotation were present.

Now both error patterns and error annotation are validated when present,
regardless of compilation status. Furthermore, for test that should run,
the error patterns are matched against executable output, which is what
some of tests already expect to happen, and when rust-lang#65506 is merged even
more ui tests will.
This commit builds on rust-lang#65501 continue to simplify the build system and
compiler now that we no longer have multiple LLVM backends to ship by
default. Here this switches the compiler back to what it once was long
long ago, which is linking LLVM directly to the compiler rather than
dynamically loading it at runtime. The `codegen-backends` directory of
the sysroot no longer exists and all relevant support in the build
system is removed. Note that `rustc` still supports a dynamically loaded
codegen backend as it did previously, it just no longer supports
dynamically loaded codegen backends in its own sysroot.

Additionally as part of this the `librustc_codegen_llvm` crate now once
again explicitly depends on all of its crates instead of implicitly
loading them through the sysroot. This involved filling out its
`Cargo.toml` and deleting all the now-unnecessary `extern crate`
annotations in the header of the crate. (this in turn required adding a
number of imports for names of macros too).

The end results of this change are:

* Rustbuild's build process for the compiler as all the "oh don't forget
  the codegen backend" checks can be easily removed.
* Building `rustc_codegen_llvm` is much simpler since it's simply
  another compiler crate.
* Managing the dependencies of `rustc_codegen_llvm` is much simpler since
  it's "just another `Cargo.toml` to edit"
* The build process should be a smidge faster because there's more
  parallelism in the main rustc build step rather than splitting
  `librustc_codegen_llvm` out to its own step.
* The compiler is expected to be slightly faster by default because the
  codegen backend does not need to be dynamically loaded.
* Disabling LLVM as part of rustbuild is still supported, supporting
  multiple codegen backends is still supported, and dynamic loading of a
  codegen backend is still supported.
resolve: Turn the "non-empty glob must import something" error into a lint

This fixes rust-lang#62334 by changing the error to a lint warning the glob. I changed the test but I'm very unsure of what I did as I do not know how to correctly check for the warning
…r=Mark-Simulacrum

rustc: Link LLVM directly into rustc again

This commit builds on rust-lang#65501 continue to simplify the build system and
compiler now that we no longer have multiple LLVM backends to ship by
default. Here this switches the compiler back to what it once was long
long ago, which is linking LLVM directly to the compiler rather than
dynamically loading it at runtime. The `codegen-backends` directory of
the sysroot no longer exists and all relevant support in the build
system is removed. Note that `rustc` still supports a dynamically loaded
codegen backend as it did previously, it just no longer supports
dynamically loaded codegen backends in its own sysroot.

Additionally as part of this the `librustc_codegen_llvm` crate now once
again explicitly depends on all of its crates instead of implicitly
loading them through the sysroot. This involved filling out its
`Cargo.toml` and deleting all the now-unnecessary `extern crate`
annotations in the header of the crate. (this in turn required adding a
number of imports for names of macros too).

The end results of this change are:

* Rustbuild's build process for the compiler as all the "oh don't forget
  the codegen backend" checks can be easily removed.
* Building `rustc_codegen_llvm` is much simpler since it's simply
  another compiler crate.
* Managing the dependencies of `rustc_codegen_llvm` is much simpler since
  it's "just another `Cargo.toml` to edit"
* The build process should be a smidge faster because there's more
  parallelism in the main rustc build step rather than splitting
  `librustc_codegen_llvm` out to its own step.
* The compiler is expected to be slightly faster by default because the
  codegen backend does not need to be dynamically loaded.
* Disabling LLVM as part of rustbuild is still supported, supporting
  multiple codegen backends is still supported, and dynamic loading of a
  codegen backend is still supported.
Validate error patterns and error annotation in ui tests when present

Previously, when compilation succeeded, neither error patterns nor error
annotation would be validated. Additionally, when compilation failed,
only error patterns would be validated if both error patterns and error
annotation were present.

Now both error patterns and error annotation are validated when present,
regardless of compilation status. Furthermore, for test that should run,
the error patterns are matched against executable output, which is what
some of tests already expect to happen, and when rust-lang#65506 is merged even
more ui tests will.

Fixes rust-lang#56277
…richton

Update mdbook to 0.3.3

There are some new features of mdbook that I'd like to use in TRPL.
@Centril
Copy link
Contributor Author

Centril commented Oct 29, 2019

@bors r+ rollup=never p=6

@bors
Copy link
Contributor

bors commented Oct 29, 2019

📌 Commit dab411a 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 Oct 29, 2019
@Centril Centril added the rollup A PR which is a rollup label Oct 29, 2019
@bors
Copy link
Contributor

bors commented Oct 29, 2019

⌛ Testing commit dab411a with merge 989417cb50a31222b7b0ec708d89612c4131a569...

@eddyb
Copy link
Member

eddyb commented Oct 29, 2019

@bors retry (yielding priority to #65927)

@bors
Copy link
Contributor

bors commented Oct 29, 2019

⌛ Testing commit dab411a with merge 0fdf482952fa450457326cf62a427f2ac078f36b...

@bors
Copy link
Contributor

bors commented Oct 29, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job i686-apple of your PR failed (pretty log, 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-10-29T15:54:28.7254410Z failures:
2019-10-29T15:54:28.7254450Z 
2019-10-29T15:54:28.7255140Z ---- [ui] ui/huge-struct.rs stdout ----
2019-10-29T15:54:28.7255240Z 
2019-10-29T15:54:28.7256130Z error: /Users/runner/runners/2.159.2/work/1/s/src/test/ui/huge-struct.rs:49: unexpected error: '49:9: 49:12: the type `S32<S32<S1M<u32>>>` is too big for the current architecture'
2019-10-29T15:54:28.7256290Z 
2019-10-29T15:54:28.7257310Z error: /Users/runner/runners/2.159.2/work/1/s/src/test/ui/huge-struct.rs:49: expected error not found: the type `S32<S1M<S1M<u32>>>` is too big for the current architecture
2019-10-29T15:54:28.7257540Z error: 1 unexpected errors found, 1 expected errors not found
2019-10-29T15:54:28.7257640Z status: exit code: 1
2019-10-29T15:54:28.7257640Z status: exit code: 1
2019-10-29T15:54:28.7259120Z command: "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "/Users/runner/runners/2.159.2/work/1/s/src/test/ui/huge-struct.rs" "-Zthreads=1" "--target=i686-apple-darwin" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/test/ui/huge-struct" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "-L" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/test/ui/huge-struct/auxiliary" "-A" "unused"
2019-10-29T15:54:28.7259500Z unexpected errors (from JSON output): [
2019-10-29T15:54:28.7259690Z         line_num: 49,
2019-10-29T15:54:28.7259780Z         kind: Some(
2019-10-29T15:54:28.7259880Z             Error,
2019-10-29T15:54:28.7259970Z         ),
2019-10-29T15:54:28.7259970Z         ),
2019-10-29T15:54:28.7260070Z         msg: "49:9: 49:12: the type `S32<S32<S1M<u32>>>` is too big for the current architecture",
2019-10-29T15:54:28.7260280Z ]
2019-10-29T15:54:28.7260340Z 
2019-10-29T15:54:28.7260410Z not found errors (from test file): [
2019-10-29T15:54:28.7260510Z     Error {
2019-10-29T15:54:28.7260510Z     Error {
2019-10-29T15:54:28.7260590Z         line_num: 49,
2019-10-29T15:54:28.7260680Z         kind: Some(
2019-10-29T15:54:28.7260760Z             Error,
2019-10-29T15:54:28.7260840Z         ),
2019-10-29T15:54:28.7260940Z         msg: "the type `S32<S1M<S1M<u32>>>` is too big for the current architecture",
2019-10-29T15:54:28.7261130Z ]
2019-10-29T15:54:28.7261180Z 
2019-10-29T15:54:28.7261950Z thread '[ui] ui/huge-struct.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:1520:13
2019-10-29T15:54:28.7262140Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
---
2019-10-29T15:54:28.7264300Z 
2019-10-29T15:54:28.7355400Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:537:22
2019-10-29T15:54:28.7372730Z 
2019-10-29T15:54:28.7373050Z 
2019-10-29T15:54:28.7376950Z command did not execute successfully: "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/stage0-tools-bin/compiletest" "--compile-lib-path" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/stage2/lib" "--run-lib-path" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/stage2/lib/rustlib/i686-apple-darwin/lib" "--rustc-path" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "--src-base" "/Users/runner/runners/2.159.2/work/1/s/src/test/ui" "--build-base" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/test/ui" "--stage-id" "stage2-i686-apple-darwin" "--mode" "ui" "--target" "i686-apple-darwin" "--host" "i686-apple-darwin" "--llvm-filecheck" "/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/llvm/build/bin/FileCheck" "--nodejs" "/usr/local/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/runner/runners/2.159.2/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--docck-python" "/usr/local/bin/python2.7" "--lldb-python" "/usr/bin/python" "--lldb-version" "lldb-902.0.79.2\n  Swift-4.1\n" "--lldb-python-dir" "/Applications/Xcode_9.3.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python" "--llvm-version" "9.0.0-rust-1.40.0-dev\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-10-29T15:54:28.7378070Z 
2019-10-29T15:54:28.7378120Z 
2019-10-29T15:54:28.7387320Z failed to run: /Users/runner/runners/2.159.2/work/1/s/build/bootstrap/debug/bootstrap test
2019-10-29T15:54:28.7387510Z Build completed unsuccessfully in 0:55:59
2019-10-29T15:54:28.7387510Z Build completed unsuccessfully in 0:55:59
2019-10-29T15:54:28.7459340Z == clock drift check ==
2019-10-29T15:54:28.7509130Z   local time: Tue Oct 29 15:54:28 UTC 2019
2019-10-29T15:54:28.8188140Z   network time: Tue, 29 Oct 2019 15:54:28 GMT
2019-10-29T15:54:28.8190860Z == end clock drift check ==
2019-10-29T15:54:28.8235800Z 
2019-10-29T15:54:28.8364730Z ##[error]Bash exited with code '1'.
2019-10-29T15:54:28.8411320Z ##[section]Starting: Upload CPU usage statistics
2019-10-29T15:54:28.8416760Z ==============================================================================
2019-10-29T15:54:28.8416890Z Task         : Bash
2019-10-29T15:54:28.8416980Z 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 Oct 29, 2019
@Centril Centril closed this Oct 30, 2019
@Centril Centril deleted the rollup-epiflmt branch October 30, 2019 10:55
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.

8 participants