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

Allow multiple asm! options groups and report an error on duplicate options #73227

Merged
merged 20 commits into from
Jun 21, 2020

Conversation

camelid
Copy link
Member

@camelid camelid commented Jun 11, 2020

Fixes #73193

Cc @joshtriplett @Amanieu

  • Allow multiple options
  • Update existing test
  • Add new tests
  • Check for duplicate options
  • Add duplicate options tests
  • Finalize suggestion format for duplicate options error

@rust-highfive
Copy link
Collaborator

r? @petrochenkov

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 11, 2020
@camelid
Copy link
Member Author

camelid commented Jun 11, 2020

Is there a way to add tests to check the semantics?

@Amanieu
Copy link
Member

Amanieu commented Jun 11, 2020

r? @Amanieu

Copy link
Member

@Amanieu Amanieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A good place to add tests would be src/test/codegen/asm-options.rs.

src/librustc_builtin_macros/asm.rs Outdated Show resolved Hide resolved
Copy link
Member

@Amanieu Amanieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to add tests in src/test/codegen/asm-options.rs.

src/librustc_builtin_macros/asm.rs Outdated Show resolved Hide resolved
src/librustc_builtin_macros/asm.rs Outdated Show resolved Hide resolved
@rust-highfive
Copy link
Collaborator

The job mingw-check 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.
##[section]Starting: Linux mingw-check
##[section]Starting: Initialize job
Agent name: 'Azure Pipelines 4'
Agent machine name: 'fv-az578'
Current agent version: '2.170.1'
##[group]Operating System
16.04.6
LTS
LTS
##[endgroup]
##[group]Virtual Environment
Environment: ubuntu-16.04
Version: 20200604.1
Included Software: https://github.com/actions/virtual-environments/blob/ubuntu16/20200604.1/images/linux/Ubuntu1604-README.md
##[endgroup]
Agent running as: 'vsts'
Prepare build directory.
Set build variables.
Download all required tasks.
Download all required tasks.
Downloading task: Bash (3.163.3)
Checking job knob settings.
   Knob: AgentToolsDirectory = /opt/hostedtoolcache Source: ${AGENT_TOOLSDIRECTORY} 
   Knob: AgentPerflog = /home/vsts/perflog Source: ${VSTS_AGENT_PERFLOG} 
Start tracking orphan processes.
##[section]Finishing: Initialize job
##[section]Starting: Configure Job Name
==============================================================================
---
========================== Starting Command Output ===========================
[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/38a67426-da90-4a1e-85dd-8a17efc40f9e.sh

##[section]Finishing: Disable git automatic line ending conversion
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
---
##[command]git remote add origin https://github.com/rust-lang/rust
##[command]git config gc.auto 0
##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/73227/merge:refs/remotes/pull/73227/merge
---
 ---> f883e675ad62
Step 6/7 : ENV RUN_CHECK_WITH_PARALLEL_QUERIES 1
 ---> Using cache
 ---> c0b156eb069c
Step 7/7 : ENV SCRIPT python3 ../x.py test src/tools/expand-yaml-anchors &&            python3 ../x.py check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu &&            python3 ../x.py build --stage 0 src/tools/build-manifest &&            python3 ../x.py test --stage 0 src/tools/compiletest &&            python3 ../x.py test src/tools/tidy &&            python3 ../x.py doc --stage 0 src/libstd &&            /scripts/validate-toolstate.sh
 ---> 8541bab6b38c
Successfully built 8541bab6b38c
Successfully tagged rust-ci:latest
Built container sha256:8541bab6b38c07f1b7eb787539b9cbe93daa6ac4458d3d7bd8a8921622a14ba1

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 @rust-lang/infra. (Feature Requests)

@camelid
Copy link
Member Author

camelid commented Jun 12, 2020

I added the tests in a separate file, src/test/codegen/asm-multiple-options.rs

@Amanieu
Copy link
Member

Amanieu commented Jun 13, 2020

LGTM. Are you planning on implementing the check for duplicate options as well?

@camelid
Copy link
Member Author

camelid commented Jun 13, 2020

Yes, I just haven’t gotten to it yet

@camelid
Copy link
Member Author

camelid commented Jun 14, 2020

Okay, I got a warning working:

warning: the `att_syntax` option was already provided
  --> rust-issue-73193.rs:10:21
   |
10 |             options(att_syntax),
   |                     ^^^^^^^^^^ help: remove this option

Should I make it a lint rather than a hard-coded warning?

src/librustc_builtin_macros/asm.rs Show resolved Hide resolved
src/librustc_builtin_macros/asm.rs Outdated Show resolved Hide resolved
src/librustc_builtin_macros/asm.rs Outdated Show resolved Hide resolved
@camelid
Copy link
Member Author

camelid commented Jun 15, 2020

I feel like there should be a lint for options blocks that do nothing, e.g.:

asm!("", options()); // <- warning: useless options
asm!("", options(att_syntax, nomem), options(att_syntax));
//                                   ^--- warning: useless options

I'm not sure if it would be worth it, though. Also, it should be implemented in a separate pull request.

@camelid camelid changed the title Allow multiple asm! options Allow multiple asm! options and error on duplicate options Jun 15, 2020
@camelid camelid marked this pull request as ready for review June 15, 2020 19:24
@Amanieu
Copy link
Member

Amanieu commented Jun 16, 2020

This is going to conflict with #73364, so let's wait for that one to land first.

@Amanieu
Copy link
Member

Amanieu commented Jun 16, 2020

I feel like there should be a lint for options blocks that do nothing

I think this a lint is necessary. This kind of code may be generated from macros, and it's pretty obvious otherwise.

Comment on lines 278 to 285
if p.look_ahead(0, |t| t == &token::Comma) {
err.tool_only_span_suggestion(
p.token.span,
"remove this comma",
String::new(),
Applicability::MachineApplicable,
);
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Amanieu, the way I implemented the suggestion with the comma is to create a separate, tool-only suggestion to remove the comma if it's there. Otherwise, the UI makes it look like the comma is part of the option.

The tests will fail, though, because for some reason, the tool-only suggestion is showing up in the UI and in a very bizarre way. Am I doing something wrong? Maybe I should just go back to 13c0caff100cc69a6699fb727a5684fbb1fc10c1.

Here's what it looks like:

error: the `att_syntax` option was already provided
  --> rust-issue-73193.rs:10:28
   |
10 |             options(nomem, att_syntax, nostack, att_syntax),
   |                            ^^^^^^^^^^
   |
help: remove this option
   |
10 |             options(nomem, , nostack, att_syntax),
   |                           --

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit out of my depth here, so I will delegate to @estebank who is more familiar with the diagnostic infrastructure.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking about just going back to 13c0caf, and have it highlight the option and the comma, and then I can revise it in a later pull request. What do you think?

Copy link
Contributor

@estebank estebank Jun 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that here you can use

let comma_sp = p.look_ahead(1, |t| t.span);
p.token.span.to(comma_sp)

to point at att_syntax,, although ideally, you would do

let next_ident = p.look_ahead(2, |t| t.span);
p.token.span.until(next_ident)

to point at att_syntax, (including the whitespace before nostack).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@estebank In 13c0caf, I was able to point at att_syntax,, but I would rather just point at att_syntax in the UI, but have the tooling see att_syntax,.

So, my goal for the UI is:

error: the `att_syntax` option was already provided
  --> rust-issue-73193.rs:10:28
   |
10 |             options(nomem, att_syntax, nostack),
   |                            ^^^^^^^^^^

And my goal for the tooling is the suggestion:

- options(nomem, att_syntax, nostack)
+ options(nomem, , nostack)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a tool_only_suggestion that will not be shown in the cli output, but the suggestion will still appear in VSCode and be applicable by rustfix. That's what I normally use for a case like this.

The display of structured suggestions are normally as a separate window with the change applied. There's an optimization to show it as a label with the suggested code as part of the label, but there are a bunch of rules on when it doesn't get displayed that way (length of label, if there are more than one suggestion, devel selectable with span_suggestion_verbose or span_suggestion_short).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. So what do you recommend I do? Because the help message is confusing for the users:

error: the `att_syntax` option was already provided
  --> rust-issue-73193.rs:10:28
   |
10 |             options(nomem, att_syntax, nostack, att_syntax),
   |                            ^^^^^^^^^^
   |
help: remove this option
   |
10 |             options(nomem, , nostack, att_syntax),
   |                           --

(The help message only appears separately and it only highlights the wrong part when the tool-only suggestion for the comma is there. I tested it with a user-visible suggestion too, and it messed up the help message as well.)

Is it not possible to have multiple suggestions on a diagnostic (or am I doing it wrong)?

Thanks for your help!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a multipart_suggestion method that takes a Vec<(Span, String)> that can be used, but that shouldn't be necessary for this case, I think. What I would do is have a span_label pointing at att_syntax saying "option already provide it, remove it" and a hidden structured suggestion with a span between the start of att_syntax to the start of nostack for the removal. That way in VSCode you'd see

option already provided, remove it
remove the option

which is not perfect, but serviceable.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I’ll try that. Thanks for helping me figure this out!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Amanieu What do you think of this output?

error: the `att_syntax` option was already provided
  --> rust-issue-73193.rs:10:28
   |
10 |             options(nomem, att_syntax, nostack, att_syntax),
   |                            ^^^^^^^^^^ this option was already provided

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-8 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.
##[section]Starting: Linux x86_64-gnu-llvm-8
##[section]Starting: Initialize job
Agent name: 'Azure Pipelines 5'
Agent machine name: 'fv-az578'
Current agent version: '2.170.1'
##[group]Operating System
16.04.6
LTS
LTS
##[endgroup]
##[group]Virtual Environment
Environment: ubuntu-16.04
Version: 20200604.1
Included Software: https://github.com/actions/virtual-environments/blob/ubuntu16/20200604.1/images/linux/Ubuntu1604-README.md
##[endgroup]
Agent running as: 'vsts'
Prepare build directory.
Set build variables.
Download all required tasks.
Download all required tasks.
Downloading task: Bash (3.163.3)
Checking job knob settings.
   Knob: AgentToolsDirectory = /opt/hostedtoolcache Source: ${AGENT_TOOLSDIRECTORY} 
   Knob: AgentPerflog = /home/vsts/perflog Source: ${VSTS_AGENT_PERFLOG} 
Start tracking orphan processes.
##[section]Finishing: Initialize job
##[section]Starting: Configure Job Name
==============================================================================
---
========================== Starting Command Output ===========================
[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/936ad40d-5e01-44c7-8a6d-bf5b930853ed.sh

##[section]Finishing: Disable git automatic line ending conversion
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
---
##[command]git remote add origin https://github.com/rust-lang/rust
##[command]git config gc.auto 0
##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/73227/merge:refs/remotes/pull/73227/merge
---
 ---> 29a56a071ad9
Step 5/8 : ENV RUST_CONFIGURE_ARGS       --build=x86_64-unknown-linux-gnu       --llvm-root=/usr/lib/llvm-8       --enable-llvm-link-shared       --set rust.thin-lto-import-instr-limit=10
 ---> Using cache
 ---> eb826cd6a4d7
Step 6/8 : ENV SCRIPT python2.7 ../x.py test --exclude src/tools/tidy &&            python2.7 ../x.py test src/test/mir-opt --pass=build                                   --target=armv5te-unknown-linux-gnueabi &&            python2.7 ../x.py test src/tools/tidy
 ---> 9841042138f8
Step 7/8 : ENV NO_DEBUG_ASSERTIONS=1
 ---> Using cache
 ---> 00b49f7048de
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)

running 10320 tests
.................................................................................................... 100/10320
..............................................i.F...ii.............................................. 200/10320
.................................................................................................... 400/10320
.................................................................................................... 500/10320
.................................................................................................... 600/10320
.i.................................................................................................. 700/10320
---
.................................................................................................... 1900/10320
.................................................................................................... 2000/10320
................i..i................................................................................ 2100/10320
.................................................................................................... 2200/10320
......iiiii......................................................................................... 2300/10320
.................................................................................................... 2500/10320
.................................................................................................... 2600/10320
.................................................................................................... 2700/10320
.................................................................................................... 2800/10320
---
.................................................................................................... 6000/10320
........ii.....................................i.................................................... 6100/10320
.................................................................................................... 6200/10320
.................................................................................................... 6300/10320
.......................................................................ii...i..ii...........i....... 6400/10320
.................................................................................................... 6600/10320
.................................................................................................... 6700/10320
.................................................................................................... 6800/10320
.................................................................................................... 6800/10320
.....i..ii.......................................................................................... 6900/10320
.................................................................................................... 7100/10320
............................................................i....................................... 7200/10320
.................................................................................................... 7300/10320
.................................................................................................... 7400/10320
---
.................................................................................................... 8200/10320
.................................................................................................... 8300/10320
.................................................................................................... 8400/10320
..i................................................................................................. 8500/10320
........................................................iiiiii.iiiiii.i............................. 8600/10320
.............i...................................................................................... 8800/10320
.................................................................................................... 8900/10320
.................................................................................................... 9000/10320
.................................................................................................... 9100/10320
---
diff of stderr:

44   --> $DIR/duplicate-options.rs:22:21
45    |
46 LL |             options(nomem, nostack),
+    |                     ^^^^^
+    |
+ help: remove this option
+    |
+    |
+ LL |             options(, nostack),
48 
49 error: the `noreturn` option was already provided
50   --> $DIR/duplicate-options.rs:23:21



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/duplicate-options.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args asm/duplicate-options.rs`
error: 1 errors occurred comparing output.
status: exit code: 1
status: exit code: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/asm/duplicate-options.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/auxiliary"
------------------------------------------

------------------------------------------
stderr:
stderr:
------------------------------------------
error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:8:33
   |
LL |         asm!("", options(nomem, nomem));


error: the `att_syntax` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:10:38
   |
LL |         asm!("", options(att_syntax, att_syntax));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:12:56
   |
LL |         asm!("", options(nostack, att_syntax), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:35
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:53
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:71
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:21:33
   |
   |
LL |             options(att_syntax, noreturn), //~ ERROR the `noreturn` option was already provided


error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:22:21
   |
LL |             options(nomem, nostack), //~ ERROR the `nomem` option was already provided
   |
help: remove this option
   |
   |
LL |             options(, nostack), //~ ERROR the `nomem` option was already provided

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:23:21
   |
   |
LL |             options(noreturn), //~ ERROR the `noreturn` option was already provided

error: aborting due to 9 previous errors


---
thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:348:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-8/bin/FileCheck" "--nodejs" "/usr/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "8.0.0" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"


failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --exclude src/tools/tidy
Build completed unsuccessfully in 1:00:28
Build completed unsuccessfully in 1:00:28
== clock drift check ==
  local time: Tue Jun 16 20:48:29 UTC 2020
  network time: Tue, 16 Jun 2020 20:48:29 GMT
== end clock drift check ==

##[error]Bash exited with code '1'.
##[section]Finishing: Run build
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
Author       : Microsoft
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
==============================================================================
Cleaning any cached credential from repository: rust-lang/rust (GitHub)
##[section]Finishing: Checkout rust-lang/rust@refs/pull/73227/merge to s
Cleaning up task key
Start cleaning up orphan processes.
Terminate orphan process: pid (3682) (python)
##[section]Finishing: Finalize Job

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 @rust-lang/infra. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-8 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.
##[section]Starting: Linux x86_64-gnu-llvm-8
##[section]Starting: Initialize job
Agent name: 'Azure Pipelines 2'
Agent machine name: 'fv-az578'
Current agent version: '2.170.1'
##[group]Operating System
16.04.6
LTS
LTS
##[endgroup]
##[group]Virtual Environment
Environment: ubuntu-16.04
Version: 20200604.1
Included Software: https://github.com/actions/virtual-environments/blob/ubuntu16/20200604.1/images/linux/Ubuntu1604-README.md
##[endgroup]
Agent running as: 'vsts'
Prepare build directory.
Set build variables.
Download all required tasks.
Download all required tasks.
Downloading task: Bash (3.163.3)
Checking job knob settings.
   Knob: AgentToolsDirectory = /opt/hostedtoolcache Source: ${AGENT_TOOLSDIRECTORY} 
   Knob: AgentPerflog = /home/vsts/perflog Source: ${VSTS_AGENT_PERFLOG} 
Start tracking orphan processes.
##[section]Finishing: Initialize job
##[section]Starting: Configure Job Name
==============================================================================
---
========================== Starting Command Output ===========================
[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/39ae9ed2-fb5d-4766-acd9-91de83d1bed2.sh

##[section]Finishing: Disable git automatic line ending conversion
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
---
##[command]git remote add origin https://github.com/rust-lang/rust
##[command]git config gc.auto 0
##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/73227/merge:refs/remotes/pull/73227/merge
---
 ---> 29a56a071ad9
Step 5/8 : ENV RUST_CONFIGURE_ARGS       --build=x86_64-unknown-linux-gnu       --llvm-root=/usr/lib/llvm-8       --enable-llvm-link-shared       --set rust.thin-lto-import-instr-limit=10
 ---> Using cache
 ---> eb826cd6a4d7
Step 6/8 : ENV SCRIPT python2.7 ../x.py test --exclude src/tools/tidy &&            python2.7 ../x.py test src/test/mir-opt --pass=build                                   --target=armv5te-unknown-linux-gnueabi &&            python2.7 ../x.py test src/tools/tidy
 ---> 9841042138f8
Step 7/8 : ENV NO_DEBUG_ASSERTIONS=1
 ---> Using cache
 ---> 00b49f7048de
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)

running 10320 tests
.................................................................................................... 100/10320
..............................................i.F...ii.............................................. 200/10320
.................................................................................................... 400/10320
.................................................................................................... 500/10320
.................................................................................................... 600/10320
.i.................................................................................................. 700/10320
---
.................................................................................................... 1900/10320
.................................................................................................... 2000/10320
................i..i................................................................................ 2100/10320
.................................................................................................... 2200/10320
......iiiii......................................................................................... 2300/10320
.................................................................................................... 2500/10320
.................................................................................................... 2600/10320
.................................................................................................... 2700/10320
.................................................................................................... 2800/10320
---
.................................................................................................... 6000/10320
........ii.....................................i.................................................... 6100/10320
.................................................................................................... 6200/10320
.................................................................................................... 6300/10320
.......................................................................ii...i..ii...........i....... 6400/10320
.................................................................................................... 6600/10320
.................................................................................................... 6700/10320
.................................................................................................... 6800/10320
.................................................................................................... 6800/10320
.....i..ii.......................................................................................... 6900/10320
.................................................................................................... 7100/10320
............................................................i....................................... 7200/10320
.................................................................................................... 7300/10320
.................................................................................................... 7400/10320
---
.................................................................................................... 8200/10320
.................................................................................................... 8300/10320
.................................................................................................... 8400/10320
..i................................................................................................. 8500/10320
........................................................iiiiii.iiiiii.i............................. 8600/10320
.............i...................................................................................... 8800/10320
.................................................................................................... 8900/10320
.................................................................................................... 9000/10320
.................................................................................................... 9100/10320
---
diff of stderr:

44   --> $DIR/duplicate-options.rs:22:21
45    |
46 LL |             options(nomem, nostack),
+    |                     ^^^^^
+    |
+ help: remove this option
+    |
+    |
+ LL |             options(, nostack),
48 
49 error: the `noreturn` option was already provided
50   --> $DIR/duplicate-options.rs:23:21



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/duplicate-options.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args asm/duplicate-options.rs`
error: 1 errors occurred comparing output.
status: exit code: 1
status: exit code: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/asm/duplicate-options.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/auxiliary"
------------------------------------------

------------------------------------------
stderr:
stderr:
------------------------------------------
error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:8:33
   |
LL |         asm!("", options(nomem, nomem));


error: the `att_syntax` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:10:38
   |
LL |         asm!("", options(att_syntax, att_syntax));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:12:56
   |
LL |         asm!("", options(nostack, att_syntax), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:35
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:53
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:71
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:21:33
   |
   |
LL |             options(att_syntax, noreturn), //~ ERROR the `noreturn` option was already provided


error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:22:21
   |
LL |             options(nomem, nostack), //~ ERROR the `nomem` option was already provided
   |
help: remove this option
   |
   |
LL |             options(, nostack), //~ ERROR the `nomem` option was already provided

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:23:21
   |
   |
LL |             options(noreturn), //~ ERROR the `noreturn` option was already provided

error: aborting due to 9 previous errors


---
test result: FAILED. 10253 passed; 1 failed; 66 ignored; 0 measured; 0 filtered out



command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-8/bin/FileCheck" "--nodejs" "/usr/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "8.0.0" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"


failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --exclude src/tools/tidy
Build completed unsuccessfully in 1:00:31
Build completed unsuccessfully in 1:00:31
thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:348:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
== clock drift check ==
  local time: Wed Jun 17 02:15:55 UTC 2020
  network time: Wed, 17 Jun 2020 02:15:55 GMT
== end clock drift check ==

##[error]Bash exited with code '1'.
##[section]Finishing: Run build
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
Author       : Microsoft
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
==============================================================================
Cleaning any cached credential from repository: rust-lang/rust (GitHub)
##[section]Finishing: Checkout rust-lang/rust@refs/pull/73227/merge to s
Cleaning up task key
Start cleaning up orphan processes.
Terminate orphan process: pid (4232) (python)
##[section]Finishing: Finalize Job

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 @rust-lang/infra. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-8 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.
##[section]Starting: Linux x86_64-gnu-llvm-8
##[section]Starting: Initialize job
Agent name: 'Azure Pipelines 6'
Agent machine name: 'fv-az619'
Current agent version: '2.170.1'
##[group]Operating System
16.04.6
LTS
LTS
##[endgroup]
##[group]Virtual Environment
Environment: ubuntu-16.04
Version: 20200604.1
Included Software: https://github.com/actions/virtual-environments/blob/ubuntu16/20200604.1/images/linux/Ubuntu1604-README.md
##[endgroup]
Agent running as: 'vsts'
Prepare build directory.
Set build variables.
Download all required tasks.
Download all required tasks.
Downloading task: Bash (3.163.3)
Checking job knob settings.
   Knob: AgentToolsDirectory = /opt/hostedtoolcache Source: ${AGENT_TOOLSDIRECTORY} 
   Knob: AgentPerflog = /home/vsts/perflog Source: ${VSTS_AGENT_PERFLOG} 
Start tracking orphan processes.
##[section]Finishing: Initialize job
##[section]Starting: Configure Job Name
==============================================================================
---
========================== Starting Command Output ===========================
[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/7313dec6-9e55-49e4-ae68-82caf643cf6b.sh

##[section]Finishing: Disable git automatic line ending conversion
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
---
##[command]git remote add origin https://github.com/rust-lang/rust
##[command]git config gc.auto 0
##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/73227/merge:refs/remotes/pull/73227/merge
---
 ---> 8ab33c9b704b
Step 5/8 : ENV RUST_CONFIGURE_ARGS       --build=x86_64-unknown-linux-gnu       --llvm-root=/usr/lib/llvm-8       --enable-llvm-link-shared       --set rust.thin-lto-import-instr-limit=10
 ---> Using cache
 ---> 7499c69e020e
Step 6/8 : ENV SCRIPT python2.7 ../x.py test --exclude src/tools/tidy &&            python2.7 ../x.py test src/test/mir-opt --pass=build                                   --target=armv5te-unknown-linux-gnueabi &&            python2.7 ../x.py test src/tools/tidy
 ---> ddda73140726
Step 7/8 : ENV NO_DEBUG_ASSERTIONS=1
 ---> Using cache
 ---> b3d63e0062fe
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
   Compiling rustc_parse_format v0.0.0 (/checkout/src/librustc_parse_format)
   Compiling chalk-rust-ir v0.10.0
   Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
   Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
   Compiling chalk-solve v0.10.0
   Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
   Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)

running 10320 tests
.................................................................................................... 100/10320
..............................................i.F...ii.............................................. 200/10320
.................................................................................................... 400/10320
.................................................................................................... 500/10320
.................................................................................................... 600/10320
.i.................................................................................................. 700/10320
---
.................................................................................................... 1900/10320
.................................................................................................... 2000/10320
................i..i................................................................................ 2100/10320
.................................................................................................... 2200/10320
......iiiii......................................................................................... 2300/10320
.................................................................................................... 2500/10320
.................................................................................................... 2600/10320
.................................................................................................... 2700/10320
.................................................................................................... 2800/10320
---
.................................................................................................... 6000/10320
........ii.....................................i.................................................... 6100/10320
.................................................................................................... 6200/10320
.................................................................................................... 6300/10320
.......................................................................ii...i..ii...........i....... 6400/10320
.................................................................................................... 6600/10320
.................................................................................................... 6700/10320
.................................................................................................... 6800/10320
.................................................................................................... 6800/10320
.....i..ii.......................................................................................... 6900/10320
.................................................................................................... 7100/10320
............................................................i....................................... 7200/10320
.................................................................................................... 7300/10320
.................................................................................................... 7400/10320
---
.................................................................................................... 8200/10320
.................................................................................................... 8300/10320
.................................................................................................... 8400/10320
..i................................................................................................. 8500/10320
........................................................iiiiii.iiiiii.i............................. 8600/10320
.............i...................................................................................... 8800/10320
.................................................................................................... 8900/10320
.................................................................................................... 9000/10320
.................................................................................................... 9100/10320
---
diff of stderr:

44   --> $DIR/duplicate-options.rs:22:21
45    |
46 LL |             options(nomem, nostack),
+    |                     ^^^^^
+    |
+ help: remove this option
+    |
+    |
+ LL |             options(, nostack),
48 
49 error: the `noreturn` option was already provided
50   --> $DIR/duplicate-options.rs:23:21



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/duplicate-options.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args asm/duplicate-options.rs`
error: 1 errors occurred comparing output.
status: exit code: 1
status: exit code: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/asm/duplicate-options.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/asm/duplicate-options/auxiliary"
------------------------------------------

------------------------------------------
stderr:
stderr:
------------------------------------------
error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:8:33
   |
LL |         asm!("", options(nomem, nomem));


error: the `att_syntax` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:10:38
   |
LL |         asm!("", options(att_syntax, att_syntax));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:12:56
   |
LL |         asm!("", options(nostack, att_syntax), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:35
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:53
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));


error: the `nostack` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:14:71
   |
LL |         asm!("", options(nostack, nostack), options(nostack), options(nostack));

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:21:33
   |
   |
LL |             options(att_syntax, noreturn), //~ ERROR the `noreturn` option was already provided


error: the `nomem` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:22:21
   |
LL |             options(nomem, nostack), //~ ERROR the `nomem` option was already provided
   |
help: remove this option
   |
   |
LL |             options(, nostack), //~ ERROR the `nomem` option was already provided

error: the `noreturn` option was already provided
  --> /checkout/src/test/ui/asm/duplicate-options.rs:23:21
   |
   |
LL |             options(noreturn), //~ ERROR the `noreturn` option was already provided

error: aborting due to 9 previous errors


---
thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:348:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-8/bin/FileCheck" "--nodejs" "/usr/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "8.0.0" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"


failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --exclude src/tools/tidy
Build completed unsuccessfully in 1:04:24
Build completed unsuccessfully in 1:04:24
== clock drift check ==
  local time: Thu Jun 18 03:12:42 UTC 2020
  network time: Thu, 18 Jun 2020 03:12:43 GMT
== end clock drift check ==

##[error]Bash exited with code '1'.
##[section]Finishing: Run build
##[section]Starting: Checkout rust-lang/rust@refs/pull/73227/merge to s
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
Author       : Microsoft
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
==============================================================================
Cleaning any cached credential from repository: rust-lang/rust (GitHub)
##[section]Finishing: Checkout rust-lang/rust@refs/pull/73227/merge to s
Cleaning up task key
Start cleaning up orphan processes.
Terminate orphan process: pid (3417) (python)
##[section]Finishing: Finalize Job

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 @rust-lang/infra. (Feature Requests)

@bors
Copy link
Contributor

bors commented Jun 20, 2020

☔ The latest upstream changes (presumably #73511) made this pull request unmergeable. Please resolve the merge conflicts.

@camelid camelid changed the title Allow multiple asm! options and error on duplicate options Allow multiple asm! options groups and report an error on duplicate options Jun 20, 2020
@camelid
Copy link
Member Author

camelid commented Jun 20, 2020

Time for some rebasing!

@camelid
Copy link
Member Author

camelid commented Jun 20, 2020

@Amanieu It looks like the rebase worked.

@Amanieu
Copy link
Member

Amanieu commented Jun 20, 2020

@bors r+

@bors
Copy link
Contributor

bors commented Jun 20, 2020

📌 Commit c31785a has been approved by Amanieu

@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 Jun 20, 2020
@camelid
Copy link
Member Author

camelid commented Jun 20, 2020

Thanks for reviewing this and helping me along the way! I really appreciate it :)

bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 20, 2020
…arth

Rollup of 9 pull requests

Successful merges:

 - rust-lang#72456 (Try to suggest dereferences on trait selection failed)
 - rust-lang#72788 (Projection bound validation)
 - rust-lang#72790 (core/time: Add Duration methods for zero)
 - rust-lang#73227 (Allow multiple `asm!` options groups and report an error on duplicate options)
 - rust-lang#73287 (lint: normalize projections using opaque types)
 - rust-lang#73291 (Pre-compute `LocalDefId` <-> `HirId` mappings and remove `NodeId` <-> `HirId` conversion APIs)
 - rust-lang#73378 (Remove use of specialization from librustc_arena)
 - rust-lang#73411 (Update bootstrap to rustc 1.45.0-beta.2 (1dc0f6d 2020-06-15))
 - rust-lang#73443 (ci: allow gating GHA on everything but macOS)

Failed merges:

r? @ghost
@bors bors merged commit 45d6aef into rust-lang:master Jun 21, 2020
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Oct 10, 2021
Fix ABNF of inline asm options

This is the case since rust-lang#73227.

r? `@camelid`
@cuviper cuviper added this to the 1.46 milestone May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

asm!: options should work multiple times, to simplify macros
7 participants