Skip to content

Commit

Permalink
Scope no_mangle and export_name warnings to the declarations name
Browse files Browse the repository at this point in the history
  • Loading branch information
Nemo157 committed Aug 30, 2020
1 parent 66b2f9a commit 79b0ab5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
8 changes: 4 additions & 4 deletions compiler/rustc_lint/src/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -279,25 +279,25 @@ impl EarlyLintPass for UnsafeCode {

ast::ItemKind::Fn(..) => {
if attr::contains_name(&it.attrs, sym::no_mangle) {
self.report_unsafe(cx, it.span, |lint| {
self.report_unsafe(cx, it.ident.span, |lint| {
lint.build("declaration of a `no_mangle` function").emit();
})
}
if attr::contains_name(&it.attrs, sym::export_name) {
self.report_unsafe(cx, it.span, |lint| {
self.report_unsafe(cx, it.ident.span, |lint| {
lint.build("declaration of a function with `export_name`").emit();
})
}
}

ast::ItemKind::Static(..) => {
if attr::contains_name(&it.attrs, sym::no_mangle) {
self.report_unsafe(cx, it.span, |lint| {
self.report_unsafe(cx, it.ident.span, |lint| {
lint.build("declaration of a `no_mangle` static").emit();
})
}
if attr::contains_name(&it.attrs, sym::export_name) {
self.report_unsafe(cx, it.span, |lint| {
self.report_unsafe(cx, it.ident.span, |lint| {
lint.build("declaration of a static with `export_name`").emit();
})
}
Expand Down
32 changes: 16 additions & 16 deletions src/test/ui/lint/lint-unsafe-code.stderr
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
error: declaration of a `no_mangle` function
--> $DIR/lint-unsafe-code.rs:31:14
--> $DIR/lint-unsafe-code.rs:31:17
|
LL | #[no_mangle] fn foo() {}
| ^^^^^^^^^^^
| ^^^
|
note: the lint level is defined here
--> $DIR/lint-unsafe-code.rs:3:9
Expand All @@ -11,22 +11,22 @@ LL | #![deny(unsafe_code)]
| ^^^^^^^^^^^

error: declaration of a `no_mangle` static
--> $DIR/lint-unsafe-code.rs:32:14
--> $DIR/lint-unsafe-code.rs:32:21
|
LL | #[no_mangle] static FOO: u32 = 5;
| ^^^^^^^^^^^^^^^^^^^^
| ^^^

error: declaration of a function with `export_name`
--> $DIR/lint-unsafe-code.rs:34:24
--> $DIR/lint-unsafe-code.rs:34:27
|
LL | #[export_name = "bar"] fn bar() {}
| ^^^^^^^^^^^
| ^^^

error: declaration of a static with `export_name`
--> $DIR/lint-unsafe-code.rs:35:24
--> $DIR/lint-unsafe-code.rs:35:31
|
LL | #[export_name = "BAR"] static BAR: u32 = 5;
| ^^^^^^^^^^^^^^^^^^^^
| ^^^

error: declaration of an `unsafe` function
--> $DIR/lint-unsafe-code.rs:37:1
Expand Down Expand Up @@ -107,43 +107,43 @@ LL | unsafe {}
| ^^^^^^^^^

error: declaration of a `no_mangle` function
--> $DIR/lint-unsafe-code.rs:21:22
--> $DIR/lint-unsafe-code.rs:21:25
|
LL | #[no_mangle] fn foo() {}
| ^^^^^^^^^^^
| ^^^
...
LL | unsafe_in_macro!()
| ------------------ in this macro invocation
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: declaration of a `no_mangle` static
--> $DIR/lint-unsafe-code.rs:22:22
--> $DIR/lint-unsafe-code.rs:22:29
|
LL | #[no_mangle] static FOO: u32 = 5;
| ^^^^^^^^^^^^^^^^^^^^
| ^^^
...
LL | unsafe_in_macro!()
| ------------------ in this macro invocation
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: declaration of a function with `export_name`
--> $DIR/lint-unsafe-code.rs:23:32
--> $DIR/lint-unsafe-code.rs:23:35
|
LL | #[export_name = "bar"] fn bar() {}
| ^^^^^^^^^^^
| ^^^
...
LL | unsafe_in_macro!()
| ------------------ in this macro invocation
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: declaration of a static with `export_name`
--> $DIR/lint-unsafe-code.rs:25:32
--> $DIR/lint-unsafe-code.rs:25:39
|
LL | #[export_name = "BAR"] static BAR: u32 = 5;
| ^^^^^^^^^^^^^^^^^^^^
| ^^^
...
LL | unsafe_in_macro!()
| ------------------ in this macro invocation
Expand Down

0 comments on commit 79b0ab5

Please sign in to comment.