summaryrefslogtreecommitdiffstats
path: root/src/test/ui/linkage-attr
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:25 +0000
commit5363f350887b1e5b5dd21a86f88c8af9d7fea6da (patch)
tree35ca005eb6e0e9a1ba3bb5dbc033209ad445dc17 /src/test/ui/linkage-attr
parentAdding debian version 1.66.0+dfsg1-1. (diff)
downloadrustc-5363f350887b1e5b5dd21a86f88c8af9d7fea6da.tar.xz
rustc-5363f350887b1e5b5dd21a86f88c8af9d7fea6da.zip
Merging upstream version 1.67.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/linkage-attr')
-rw-r--r--src/test/ui/linkage-attr/auxiliary/def_external.rs (renamed from src/test/ui/linkage-attr/auxiliary/def_illtyped_external.rs)0
-rw-r--r--src/test/ui/linkage-attr/link-attr-validation-late.rs1
-rw-r--r--src/test/ui/linkage-attr/link-attr-validation-late.stderr48
-rw-r--r--src/test/ui/linkage-attr/linkage-import.rs8
-rw-r--r--src/test/ui/linkage-attr/linkage-requires-raw-ptr.rs11
-rw-r--r--src/test/ui/linkage-attr/linkage-requires-raw-ptr.stderr8
-rw-r--r--src/test/ui/linkage-attr/linkage2.rs9
-rw-r--r--src/test/ui/linkage-attr/linkage2.stderr5
8 files changed, 37 insertions, 53 deletions
diff --git a/src/test/ui/linkage-attr/auxiliary/def_illtyped_external.rs b/src/test/ui/linkage-attr/auxiliary/def_external.rs
index 2300930e5..2300930e5 100644
--- a/src/test/ui/linkage-attr/auxiliary/def_illtyped_external.rs
+++ b/src/test/ui/linkage-attr/auxiliary/def_external.rs
diff --git a/src/test/ui/linkage-attr/link-attr-validation-late.rs b/src/test/ui/linkage-attr/link-attr-validation-late.rs
index b454fbd0e..34f720dd2 100644
--- a/src/test/ui/linkage-attr/link-attr-validation-late.rs
+++ b/src/test/ui/linkage-attr/link-attr-validation-late.rs
@@ -1,4 +1,3 @@
-#![feature(native_link_modifiers_verbatim)]
#![feature(link_cfg)]
// Top-level ill-formed
diff --git a/src/test/ui/linkage-attr/link-attr-validation-late.stderr b/src/test/ui/linkage-attr/link-attr-validation-late.stderr
index dd0f1dba2..1ad5fbaf7 100644
--- a/src/test/ui/linkage-attr/link-attr-validation-late.stderr
+++ b/src/test/ui/linkage-attr/link-attr-validation-late.stderr
@@ -1,143 +1,143 @@
error: unexpected `#[link]` argument, expected one of: name, kind, modifiers, cfg, wasm_import_module, import_name_type
- --> $DIR/link-attr-validation-late.rs:5:22
+ --> $DIR/link-attr-validation-late.rs:4:22
|
LL | #[link(name = "...", "literal")]
| ^^^^^^^^^
error: unexpected `#[link]` argument, expected one of: name, kind, modifiers, cfg, wasm_import_module, import_name_type
- --> $DIR/link-attr-validation-late.rs:6:22
+ --> $DIR/link-attr-validation-late.rs:5:22
|
LL | #[link(name = "...", unknown)]
| ^^^^^^^
error: multiple `name` arguments in a single `#[link]` attribute
- --> $DIR/link-attr-validation-late.rs:10:22
+ --> $DIR/link-attr-validation-late.rs:9:22
|
LL | #[link(name = "foo", name = "bar")]
| ^^^^^^^^^^^^
error: multiple `kind` arguments in a single `#[link]` attribute
- --> $DIR/link-attr-validation-late.rs:11:38
+ --> $DIR/link-attr-validation-late.rs:10:38
|
LL | #[link(name = "...", kind = "dylib", kind = "bar")]
| ^^^^^^^^^^^^
error: multiple `modifiers` arguments in a single `#[link]` attribute
- --> $DIR/link-attr-validation-late.rs:12:47
+ --> $DIR/link-attr-validation-late.rs:11:47
|
LL | #[link(name = "...", modifiers = "+verbatim", modifiers = "bar")]
| ^^^^^^^^^^^^^^^^^
error: multiple `cfg` arguments in a single `#[link]` attribute
- --> $DIR/link-attr-validation-late.rs:13:34
+ --> $DIR/link-attr-validation-late.rs:12:34
|
LL | #[link(name = "...", cfg(FALSE), cfg(FALSE))]
| ^^^^^^^^^^
error: multiple `wasm_import_module` arguments in a single `#[link]` attribute
- --> $DIR/link-attr-validation-late.rs:14:36
+ --> $DIR/link-attr-validation-late.rs:13:36
|
LL | #[link(wasm_import_module = "foo", wasm_import_module = "bar")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: link name must be of the form `name = "string"`
- --> $DIR/link-attr-validation-late.rs:18:8
+ --> $DIR/link-attr-validation-late.rs:17:8
|
LL | #[link(name)]
| ^^^^
error[E0459]: `#[link]` attribute requires a `name = "string"` argument
- --> $DIR/link-attr-validation-late.rs:18:1
+ --> $DIR/link-attr-validation-late.rs:17:1
|
LL | #[link(name)]
| ^^^^^^^^^^^^^ missing `name` argument
error: link name must be of the form `name = "string"`
- --> $DIR/link-attr-validation-late.rs:20:8
+ --> $DIR/link-attr-validation-late.rs:19:8
|
LL | #[link(name())]
| ^^^^^^
error[E0459]: `#[link]` attribute requires a `name = "string"` argument
- --> $DIR/link-attr-validation-late.rs:20:1
+ --> $DIR/link-attr-validation-late.rs:19:1
|
LL | #[link(name())]
| ^^^^^^^^^^^^^^^ missing `name` argument
error: link kind must be of the form `kind = "string"`
- --> $DIR/link-attr-validation-late.rs:22:22
+ --> $DIR/link-attr-validation-late.rs:21:22
|
LL | #[link(name = "...", kind)]
| ^^^^
error: link kind must be of the form `kind = "string"`
- --> $DIR/link-attr-validation-late.rs:23:22
+ --> $DIR/link-attr-validation-late.rs:22:22
|
LL | #[link(name = "...", kind())]
| ^^^^^^
error: link modifiers must be of the form `modifiers = "string"`
- --> $DIR/link-attr-validation-late.rs:24:22
+ --> $DIR/link-attr-validation-late.rs:23:22
|
LL | #[link(name = "...", modifiers)]
| ^^^^^^^^^
error: link modifiers must be of the form `modifiers = "string"`
- --> $DIR/link-attr-validation-late.rs:25:22
+ --> $DIR/link-attr-validation-late.rs:24:22
|
LL | #[link(name = "...", modifiers())]
| ^^^^^^^^^^^
error: link cfg must be of the form `cfg(/* predicate */)`
- --> $DIR/link-attr-validation-late.rs:26:22
+ --> $DIR/link-attr-validation-late.rs:25:22
|
LL | #[link(name = "...", cfg)]
| ^^^
error: link cfg must be of the form `cfg(/* predicate */)`
- --> $DIR/link-attr-validation-late.rs:27:22
+ --> $DIR/link-attr-validation-late.rs:26:22
|
LL | #[link(name = "...", cfg = "literal")]
| ^^^^^^^^^^^^^^^
error: link cfg must have a single predicate argument
- --> $DIR/link-attr-validation-late.rs:28:22
+ --> $DIR/link-attr-validation-late.rs:27:22
|
LL | #[link(name = "...", cfg("literal"))]
| ^^^^^^^^^^^^^^
error: wasm import module must be of the form `wasm_import_module = "string"`
- --> $DIR/link-attr-validation-late.rs:29:22
+ --> $DIR/link-attr-validation-late.rs:28:22
|
LL | #[link(name = "...", wasm_import_module)]
| ^^^^^^^^^^^^^^^^^^
error: wasm import module must be of the form `wasm_import_module = "string"`
- --> $DIR/link-attr-validation-late.rs:30:22
+ --> $DIR/link-attr-validation-late.rs:29:22
|
LL | #[link(name = "...", wasm_import_module())]
| ^^^^^^^^^^^^^^^^^^^^
error: invalid linking modifier syntax, expected '+' or '-' prefix before one of: bundle, verbatim, whole-archive, as-needed
- --> $DIR/link-attr-validation-late.rs:34:34
+ --> $DIR/link-attr-validation-late.rs:33:34
|
LL | #[link(name = "...", modifiers = "")]
| ^^
error: invalid linking modifier syntax, expected '+' or '-' prefix before one of: bundle, verbatim, whole-archive, as-needed
- --> $DIR/link-attr-validation-late.rs:35:34
+ --> $DIR/link-attr-validation-late.rs:34:34
|
LL | #[link(name = "...", modifiers = "no-plus-minus")]
| ^^^^^^^^^^^^^^^
error: unknown linking modifier `unknown`, expected one of: bundle, verbatim, whole-archive, as-needed
- --> $DIR/link-attr-validation-late.rs:36:34
+ --> $DIR/link-attr-validation-late.rs:35:34
|
LL | #[link(name = "...", modifiers = "+unknown")]
| ^^^^^^^^^^
error: multiple `verbatim` modifiers in a single `modifiers` argument
- --> $DIR/link-attr-validation-late.rs:37:34
+ --> $DIR/link-attr-validation-late.rs:36:34
|
LL | #[link(name = "...", modifiers = "+verbatim,+verbatim")]
| ^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/linkage-attr/linkage-import.rs b/src/test/ui/linkage-attr/linkage-import.rs
new file mode 100644
index 000000000..f754ddc6e
--- /dev/null
+++ b/src/test/ui/linkage-attr/linkage-import.rs
@@ -0,0 +1,8 @@
+// build-pass
+// aux-build:def_external.rs
+
+extern crate def_external as dep;
+
+fn main() {
+ println!("{:p}", &dep::EXTERN);
+}
diff --git a/src/test/ui/linkage-attr/linkage-requires-raw-ptr.rs b/src/test/ui/linkage-attr/linkage-requires-raw-ptr.rs
deleted file mode 100644
index 93afc537f..000000000
--- a/src/test/ui/linkage-attr/linkage-requires-raw-ptr.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// rust-lang/rust#59548: We used to ICE when trying to use a static
-// with a type that violated its own `#[linkage]`.
-
-// build-fail
-// aux-build:def_illtyped_external.rs
-
-extern crate def_illtyped_external as dep;
-
-fn main() {
- println!("{:p}", &dep::EXTERN);
-}
diff --git a/src/test/ui/linkage-attr/linkage-requires-raw-ptr.stderr b/src/test/ui/linkage-attr/linkage-requires-raw-ptr.stderr
deleted file mode 100644
index 5abbe745c..000000000
--- a/src/test/ui/linkage-attr/linkage-requires-raw-ptr.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: must have type `*const T` or `*mut T` due to `#[linkage]` attribute
- --> $DIR/auxiliary/def_illtyped_external.rs:5:1
- |
-LL | pub static EXTERN: u32 = 0;
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/linkage-attr/linkage2.rs b/src/test/ui/linkage-attr/linkage2.rs
index a7be19852..aa42874f7 100644
--- a/src/test/ui/linkage-attr/linkage2.rs
+++ b/src/test/ui/linkage-attr/linkage2.rs
@@ -1,16 +1,11 @@
-// FIXME https://github.com/rust-lang/rust/issues/59774
-
-// build-fail
-// normalize-stderr-test "thread.*panicked.*Metadata module not compiled.*\n" -> ""
-// normalize-stderr-test "note:.*RUST_BACKTRACE=1.*\n" -> ""
-// ignore-sgx no weak linkages permitted
+// check-fail
#![feature(linkage)]
extern "C" {
#[linkage = "extern_weak"]
static foo: i32;
-//~^ ERROR: must have type `*const T` or `*mut T` due to `#[linkage]` attribute
+//~^ ERROR: invalid type for variable with `#[linkage]` attribute
}
fn main() {
diff --git a/src/test/ui/linkage-attr/linkage2.stderr b/src/test/ui/linkage-attr/linkage2.stderr
index a6ac0aad0..7265f711f 100644
--- a/src/test/ui/linkage-attr/linkage2.stderr
+++ b/src/test/ui/linkage-attr/linkage2.stderr
@@ -1,8 +1,9 @@
-error: must have type `*const T` or `*mut T` due to `#[linkage]` attribute
- --> $DIR/linkage2.rs:12:5
+error[E0791]: invalid type for variable with `#[linkage]` attribute
+ --> $DIR/linkage2.rs:7:5
|
LL | static foo: i32;
| ^^^^^^^^^^^^^^^
error: aborting due to previous error
+For more information about this error, try `rustc --explain E0791`.