Address review feedback

This commit is contained in:
Amanieu d'Antras 2021-12-11 00:11:26 +00:00
parent 0dcd812de8
commit 1c48025685
6 changed files with 41 additions and 42 deletions

View File

@ -772,7 +772,6 @@ pub trait LintContext: Sized {
} }
BuiltinLintDiagnostics::NamedAsmLabel(help) => { BuiltinLintDiagnostics::NamedAsmLabel(help) => {
db.help(&help); db.help(&help);
//db.note("see the asm section of the unstable book <https://doc.rust-lang.org/nightly/unstable-book/library-features/asm.html#labels> for more information");
} }
} }
// Rewrap `db`, and pass control to the user. // Rewrap `db`, and pass control to the user.

View File

@ -11,7 +11,7 @@ pub fn breakpoint_program_exited(tid: usize) {
// SOLID_BP_PROGRAM_EXITED = 15 // SOLID_BP_PROGRAM_EXITED = 15
#[cfg(target_arch = "arm")] #[cfg(target_arch = "arm")]
() => core::arch::asm!("bkpt #15", in("r0") tid), () => core::arch::asm!("bkpt #15", in("r0") tid),
#[cfg(core::arch::asm = "aarch64")] #[cfg(target_arch = "aarch64")]
() => core::arch::asm!("hlt #15", in("x0") tid), () => core::arch::asm!("hlt #15", in("x0") tid),
} }
} }

View File

@ -201,6 +201,7 @@ LLVM CFI can be enabled with -Zsanitizer=cfi and requires LTO (i.e., -Clto).
```text ```text
#![feature(naked_functions)] #![feature(naked_functions)]
use std::arch::asm;
use std::mem; use std::mem;
fn add_one(x: i32) -> i32 { fn add_one(x: i32) -> i32 {

View File

@ -29,9 +29,9 @@ pub extern "C" fn get(ptr: *const u64) -> u64 {
pub extern "C" fn myret() { pub extern "C" fn myret() {
unsafe { unsafe {
asm!( asm!(
".start_myret_inline_asm: ".start_myret_inline_asm:",
ret "ret",
.end_myret_inline_asm:" ".end_myret_inline_asm:",
); );
} }
} }

View File

@ -9,6 +9,8 @@
#![feature(derive_default_enum)] #![feature(derive_default_enum)]
#![allow(deprecated)] // llvm_asm! #![allow(deprecated)] // llvm_asm!
use std::arch::asm;
#[derive(Default)] #[derive(Default)]
struct DefaultInnerAttrStruct { struct DefaultInnerAttrStruct {
#[default] //~ ERROR the `#[default]` attribute may only be used on unit enum variants #[default] //~ ERROR the `#[default]` attribute may only be used on unit enum variants

View File

@ -1,41 +1,41 @@
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:14:5 --> $DIR/macros-nonfatal-errors.rs:16:5
| |
LL | #[default] LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:19:36 --> $DIR/macros-nonfatal-errors.rs:21:36
| |
LL | struct DefaultInnerAttrTupleStruct(#[default] ()); LL | struct DefaultInnerAttrTupleStruct(#[default] ());
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:23:1 --> $DIR/macros-nonfatal-errors.rs:25:1
| |
LL | #[default] LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:27:1 --> $DIR/macros-nonfatal-errors.rs:29:1
| |
LL | #[default] LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:37:11 --> $DIR/macros-nonfatal-errors.rs:39:11
| |
LL | Foo = #[default] 0, LL | Foo = #[default] 0,
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:38:14 --> $DIR/macros-nonfatal-errors.rs:40:14
| |
LL | Bar([u8; #[default] 1]), LL | Bar([u8; #[default] 1]),
| ^^^^^^^^^^ | ^^^^^^^^^^
error: no default declared error: no default declared
--> $DIR/macros-nonfatal-errors.rs:43:10 --> $DIR/macros-nonfatal-errors.rs:45:10
| |
LL | #[derive(Default)] LL | #[derive(Default)]
| ^^^^^^^ | ^^^^^^^
@ -44,7 +44,7 @@ LL | #[derive(Default)]
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: multiple declared defaults error: multiple declared defaults
--> $DIR/macros-nonfatal-errors.rs:49:10 --> $DIR/macros-nonfatal-errors.rs:51:10
| |
LL | #[derive(Default)] LL | #[derive(Default)]
| ^^^^^^^ | ^^^^^^^
@ -62,7 +62,7 @@ LL | Baz,
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: `#[default]` attribute does not accept a value error: `#[default]` attribute does not accept a value
--> $DIR/macros-nonfatal-errors.rs:61:5 --> $DIR/macros-nonfatal-errors.rs:63:5
| |
LL | #[default = 1] LL | #[default = 1]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
@ -70,7 +70,7 @@ LL | #[default = 1]
= help: try using `#[default]` = help: try using `#[default]`
error: multiple `#[default]` attributes error: multiple `#[default]` attributes
--> $DIR/macros-nonfatal-errors.rs:69:5 --> $DIR/macros-nonfatal-errors.rs:71:5
| |
LL | #[default] LL | #[default]
| ---------- `#[default]` used here | ---------- `#[default]` used here
@ -81,13 +81,13 @@ LL | Foo,
| |
= note: only one `#[default]` attribute is needed = note: only one `#[default]` attribute is needed
help: try removing this help: try removing this
--> $DIR/macros-nonfatal-errors.rs:68:5 --> $DIR/macros-nonfatal-errors.rs:70:5
| |
LL | #[default] LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: multiple `#[default]` attributes error: multiple `#[default]` attributes
--> $DIR/macros-nonfatal-errors.rs:79:5 --> $DIR/macros-nonfatal-errors.rs:81:5
| |
LL | #[default] LL | #[default]
| ---------- `#[default]` used here | ---------- `#[default]` used here
@ -99,7 +99,7 @@ LL | Foo,
| |
= note: only one `#[default]` attribute is needed = note: only one `#[default]` attribute is needed
help: try removing these help: try removing these
--> $DIR/macros-nonfatal-errors.rs:76:5 --> $DIR/macros-nonfatal-errors.rs:78:5
| |
LL | #[default] LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
@ -109,7 +109,7 @@ LL | #[default]
| ^^^^^^^^^^ | ^^^^^^^^^^
error: the `#[default]` attribute may only be used on unit enum variants error: the `#[default]` attribute may only be used on unit enum variants
--> $DIR/macros-nonfatal-errors.rs:86:5 --> $DIR/macros-nonfatal-errors.rs:88:5
| |
LL | Foo {}, LL | Foo {},
| ^^^ | ^^^
@ -117,7 +117,7 @@ LL | Foo {},
= help: consider a manual implementation of `Default` = help: consider a manual implementation of `Default`
error: default variant must be exhaustive error: default variant must be exhaustive
--> $DIR/macros-nonfatal-errors.rs:94:5 --> $DIR/macros-nonfatal-errors.rs:96:5
| |
LL | #[non_exhaustive] LL | #[non_exhaustive]
| ----------------- declared `#[non_exhaustive]` here | ----------------- declared `#[non_exhaustive]` here
@ -126,38 +126,44 @@ LL | Foo,
| |
= help: consider a manual implementation of `Default` = help: consider a manual implementation of `Default`
error: asm template must be a string literal
--> $DIR/macros-nonfatal-errors.rs:101:10
|
LL | asm!(invalid);
| ^^^^^^^
error: inline assembly must be a string literal error: inline assembly must be a string literal
--> $DIR/macros-nonfatal-errors.rs:100:15 --> $DIR/macros-nonfatal-errors.rs:102:15
| |
LL | llvm_asm!(invalid); LL | llvm_asm!(invalid);
| ^^^^^^^ | ^^^^^^^
error: concat_idents! requires ident args error: concat_idents! requires ident args
--> $DIR/macros-nonfatal-errors.rs:102:5 --> $DIR/macros-nonfatal-errors.rs:104:5
| |
LL | concat_idents!("not", "idents"); LL | concat_idents!("not", "idents");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: argument must be a string literal error: argument must be a string literal
--> $DIR/macros-nonfatal-errors.rs:104:17 --> $DIR/macros-nonfatal-errors.rs:106:17
| |
LL | option_env!(invalid); LL | option_env!(invalid);
| ^^^^^^^ | ^^^^^^^
error: expected string literal error: expected string literal
--> $DIR/macros-nonfatal-errors.rs:105:10 --> $DIR/macros-nonfatal-errors.rs:107:10
| |
LL | env!(invalid); LL | env!(invalid);
| ^^^^^^^ | ^^^^^^^
error: expected string literal error: expected string literal
--> $DIR/macros-nonfatal-errors.rs:106:10 --> $DIR/macros-nonfatal-errors.rs:108:10
| |
LL | env!(foo, abr, baz); LL | env!(foo, abr, baz);
| ^^^ | ^^^
error: environment variable `RUST_HOPEFULLY_THIS_DOESNT_EXIST` not defined error: environment variable `RUST_HOPEFULLY_THIS_DOESNT_EXIST` not defined
--> $DIR/macros-nonfatal-errors.rs:107:5 --> $DIR/macros-nonfatal-errors.rs:109:5
| |
LL | env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); LL | env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -165,7 +171,7 @@ LL | env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST");
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
error: format argument must be a string literal error: format argument must be a string literal
--> $DIR/macros-nonfatal-errors.rs:109:13 --> $DIR/macros-nonfatal-errors.rs:111:13
| |
LL | format!(invalid); LL | format!(invalid);
| ^^^^^^^ | ^^^^^^^
@ -176,19 +182,19 @@ LL | format!("{}", invalid);
| +++++ | +++++
error: argument must be a string literal error: argument must be a string literal
--> $DIR/macros-nonfatal-errors.rs:111:14 --> $DIR/macros-nonfatal-errors.rs:113:14
| |
LL | include!(invalid); LL | include!(invalid);
| ^^^^^^^ | ^^^^^^^
error: argument must be a string literal error: argument must be a string literal
--> $DIR/macros-nonfatal-errors.rs:113:18 --> $DIR/macros-nonfatal-errors.rs:115:18
| |
LL | include_str!(invalid); LL | include_str!(invalid);
| ^^^^^^^ | ^^^^^^^
error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2) error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2)
--> $DIR/macros-nonfatal-errors.rs:114:5 --> $DIR/macros-nonfatal-errors.rs:116:5
| |
LL | include_str!("i'd be quite surprised if a file with this name existed"); LL | include_str!("i'd be quite surprised if a file with this name existed");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -196,13 +202,13 @@ LL | include_str!("i'd be quite surprised if a file with this name existed")
= note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
error: argument must be a string literal error: argument must be a string literal
--> $DIR/macros-nonfatal-errors.rs:115:20 --> $DIR/macros-nonfatal-errors.rs:117:20
| |
LL | include_bytes!(invalid); LL | include_bytes!(invalid);
| ^^^^^^^ | ^^^^^^^
error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2) error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2)
--> $DIR/macros-nonfatal-errors.rs:116:5 --> $DIR/macros-nonfatal-errors.rs:118:5
| |
LL | include_bytes!("i'd be quite surprised if a file with this name existed"); LL | include_bytes!("i'd be quite surprised if a file with this name existed");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -210,19 +216,10 @@ LL | include_bytes!("i'd be quite surprised if a file with this name existed
= note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
error: trace_macros! accepts only `true` or `false` error: trace_macros! accepts only `true` or `false`
--> $DIR/macros-nonfatal-errors.rs:118:5 --> $DIR/macros-nonfatal-errors.rs:120:5
| |
LL | trace_macros!(invalid); LL | trace_macros!(invalid);
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
error: cannot find macro `asm` in this scope
--> $DIR/macros-nonfatal-errors.rs:99:5
|
LL | asm!(invalid);
| ^^^
|
= note: consider importing this macro:
std::arch::asm
error: aborting due to 27 previous errors error: aborting due to 27 previous errors