about summary refs log tree commit diff
path: root/tests/ui/linkage-attr
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2024-12-07 12:35:30 +1100
committerZalathar <Zalathar@users.noreply.github.com>2024-12-07 13:18:05 +1100
commit0a48b96859d3d66138082ffad6a1057b54cd55c7 (patch)
tree288a97704a5b6b9089eb13eb887868943285f91d /tests/ui/linkage-attr
parentf884f18151d63ac9ce7e573cadb165ecbe8d7f9b (diff)
downloadrust-0a48b96859d3d66138082ffad6a1057b54cd55c7.tar.gz
rust-0a48b96859d3d66138082ffad6a1057b54cd55c7.zip
Move more tests into `tests/ui/link-native-libs`
Diffstat (limited to 'tests/ui/linkage-attr')
-rw-r--r--tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-dylib.rs4
-rw-r--r--tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-rlib.rs7
-rw-r--r--tests/ui/linkage-attr/issue-109144.rs4
-rw-r--r--tests/ui/linkage-attr/issue-109144.stderr9
-rw-r--r--tests/ui/linkage-attr/kind-framework.rs7
-rw-r--r--tests/ui/linkage-attr/kind-framework.stderr9
-rw-r--r--tests/ui/linkage-attr/link-attr-validation-early.rs8
-rw-r--r--tests/ui/linkage-attr/link-attr-validation-early.stderr21
-rw-r--r--tests/ui/linkage-attr/link-attr-validation-late.rs39
-rw-r--r--tests/ui/linkage-attr/link-attr-validation-late.stderr147
-rw-r--r--tests/ui/linkage-attr/link-cfg-works.rs13
-rw-r--r--tests/ui/linkage-attr/uikit-framework.rs25
12 files changed, 0 insertions, 293 deletions
diff --git a/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-dylib.rs b/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-dylib.rs
deleted file mode 100644
index 0d927117d81..00000000000
--- a/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-dylib.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-#![feature(link_cfg)]
-
-#[link(name = "foo", cfg(foo))]
-extern "C" {}
diff --git a/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-rlib.rs b/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-rlib.rs
deleted file mode 100644
index 49a46b202e4..00000000000
--- a/tests/ui/linkage-attr/auxiliary/link-cfg-works-transitive-rlib.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-//@ no-prefer-dynamic
-
-#![feature(link_cfg)]
-#![crate_type = "rlib"]
-
-#[link(name = "foo", cfg(foo))]
-extern "C" {}
diff --git a/tests/ui/linkage-attr/issue-109144.rs b/tests/ui/linkage-attr/issue-109144.rs
deleted file mode 100644
index 2f740e55389..00000000000
--- a/tests/ui/linkage-attr/issue-109144.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-#![crate_type = "lib"]
-#[link(kind = "static", modifiers = "+whole-archive,+bundle")]
-//~^ ERROR `#[link]` attribute requires a `name = "string"` argument
-extern  {}
diff --git a/tests/ui/linkage-attr/issue-109144.stderr b/tests/ui/linkage-attr/issue-109144.stderr
deleted file mode 100644
index 0748d94189c..00000000000
--- a/tests/ui/linkage-attr/issue-109144.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0459]: `#[link]` attribute requires a `name = "string"` argument
-  --> $DIR/issue-109144.rs:2:1
-   |
-LL | #[link(kind = "static", modifiers = "+whole-archive,+bundle")]
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `name` argument
-
-error: aborting due to 1 previous error
-
-For more information about this error, try `rustc --explain E0459`.
diff --git a/tests/ui/linkage-attr/kind-framework.rs b/tests/ui/linkage-attr/kind-framework.rs
deleted file mode 100644
index c2f90809e03..00000000000
--- a/tests/ui/linkage-attr/kind-framework.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-//@ ignore-apple this is supposed to succeed on Apple platforms (though it won't necessarily link)
-
-#[link(name = "foo", kind = "framework")]
-extern "C" {}
-//~^^ ERROR: link kind `framework` is only supported on Apple targets
-
-fn main() {}
diff --git a/tests/ui/linkage-attr/kind-framework.stderr b/tests/ui/linkage-attr/kind-framework.stderr
deleted file mode 100644
index 93dacd68e29..00000000000
--- a/tests/ui/linkage-attr/kind-framework.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0455]: link kind `framework` is only supported on Apple targets
-  --> $DIR/kind-framework.rs:3:29
-   |
-LL | #[link(name = "foo", kind = "framework")]
-   |                             ^^^^^^^^^^^
-
-error: aborting due to 1 previous error
-
-For more information about this error, try `rustc --explain E0455`.
diff --git a/tests/ui/linkage-attr/link-attr-validation-early.rs b/tests/ui/linkage-attr/link-attr-validation-early.rs
deleted file mode 100644
index b9a835fb5e9..00000000000
--- a/tests/ui/linkage-attr/link-attr-validation-early.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// Top-level ill-formed
-#[link] //~ ERROR attribute must be of the form
-        //~| WARN this was previously accepted
-#[link = "foo"] //~ ERROR attribute must be of the form
-                //~| WARN this was previously accepted
-extern "C" {}
-
-fn main() {}
diff --git a/tests/ui/linkage-attr/link-attr-validation-early.stderr b/tests/ui/linkage-attr/link-attr-validation-early.stderr
deleted file mode 100644
index 24ad9d825f8..00000000000
--- a/tests/ui/linkage-attr/link-attr-validation-early.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
-  --> $DIR/link-attr-validation-early.rs:2:1
-   |
-LL | #[link]
-   | ^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
-   = note: `#[deny(ill_formed_attribute_input)]` on by default
-
-error: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
-  --> $DIR/link-attr-validation-early.rs:4:1
-   |
-LL | #[link = "foo"]
-   | ^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/linkage-attr/link-attr-validation-late.rs b/tests/ui/linkage-attr/link-attr-validation-late.rs
deleted file mode 100644
index 34f720dd2d3..00000000000
--- a/tests/ui/linkage-attr/link-attr-validation-late.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-#![feature(link_cfg)]
-
-// Top-level ill-formed
-#[link(name = "...", "literal")] //~ ERROR unexpected `#[link]` argument
-#[link(name = "...", unknown)] //~ ERROR unexpected `#[link]` argument
-extern "C" {}
-
-// Duplicate arguments
-#[link(name = "foo", name = "bar")] //~ ERROR multiple `name` arguments
-#[link(name = "...", kind = "dylib", kind = "bar")] //~ ERROR multiple `kind` arguments
-#[link(name = "...", modifiers = "+verbatim", modifiers = "bar")] //~ ERROR multiple `modifiers` arguments
-#[link(name = "...", cfg(FALSE), cfg(FALSE))] //~ ERROR multiple `cfg` arguments
-#[link(wasm_import_module = "foo", wasm_import_module = "bar")] //~ ERROR multiple `wasm_import_module` arguments
-extern "C" {}
-
-// Ill-formed arguments
-#[link(name)] //~ ERROR link name must be of the form `name = "string"`
-              //~| ERROR `#[link]` attribute requires a `name = "string"` argument
-#[link(name())] //~ ERROR link name must be of the form `name = "string"`
-              //~| ERROR `#[link]` attribute requires a `name = "string"` argument
-#[link(name = "...", kind)] //~ ERROR link kind must be of the form `kind = "string"`
-#[link(name = "...", kind())] //~ ERROR link kind must be of the form `kind = "string"`
-#[link(name = "...", modifiers)] //~ ERROR link modifiers must be of the form `modifiers = "string"`
-#[link(name = "...", modifiers())] //~ ERROR link modifiers must be of the form `modifiers = "string"`
-#[link(name = "...", cfg)] //~ ERROR link cfg must be of the form `cfg(/* predicate */)`
-#[link(name = "...", cfg = "literal")] //~ ERROR link cfg must be of the form `cfg(/* predicate */)`
-#[link(name = "...", cfg("literal"))] //~ ERROR link cfg must have a single predicate argument
-#[link(name = "...", wasm_import_module)] //~ ERROR wasm import module must be of the form `wasm_import_module = "string"`
-#[link(name = "...", wasm_import_module())] //~ ERROR wasm import module must be of the form `wasm_import_module = "string"`
-extern "C" {}
-
-// Basic modifier validation
-#[link(name = "...", modifiers = "")] //~ ERROR invalid linking modifier syntax, expected '+' or '-' prefix
-#[link(name = "...", modifiers = "no-plus-minus")] //~ ERROR invalid linking modifier syntax, expected '+' or '-' prefix
-#[link(name = "...", modifiers = "+unknown")] //~ ERROR unknown linking modifier `unknown`
-#[link(name = "...", modifiers = "+verbatim,+verbatim")] //~ ERROR multiple `verbatim` modifiers
-extern "C" {}
-
-fn main() {}
diff --git a/tests/ui/linkage-attr/link-attr-validation-late.stderr b/tests/ui/linkage-attr/link-attr-validation-late.stderr
deleted file mode 100644
index 1ad5fbaf7de..00000000000
--- a/tests/ui/linkage-attr/link-attr-validation-late.stderr
+++ /dev/null
@@ -1,147 +0,0 @@
-error: unexpected `#[link]` argument, expected one of: name, kind, modifiers, cfg, wasm_import_module, import_name_type
-  --> $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:5:22
-   |
-LL | #[link(name = "...", unknown)]
-   |                      ^^^^^^^
-
-error: multiple `name` arguments in a single `#[link]` attribute
-  --> $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:10:38
-   |
-LL | #[link(name = "...", kind = "dylib", kind = "bar")]
-   |                                      ^^^^^^^^^^^^
-
-error: multiple `modifiers` arguments in a single `#[link]` attribute
-  --> $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: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: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:17:8
-   |
-LL | #[link(name)]
-   |        ^^^^
-
-error[E0459]: `#[link]` attribute requires a `name = "string"` argument
-  --> $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:19:8
-   |
-LL | #[link(name())]
-   |        ^^^^^^
-
-error[E0459]: `#[link]` attribute requires a `name = "string"` argument
-  --> $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:21:22
-   |
-LL | #[link(name = "...", kind)]
-   |                      ^^^^
-
-error: link kind must be of the form `kind = "string"`
-  --> $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:23:22
-   |
-LL | #[link(name = "...", modifiers)]
-   |                      ^^^^^^^^^
-
-error: link modifiers must be of the form `modifiers = "string"`
-  --> $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:25:22
-   |
-LL | #[link(name = "...", cfg)]
-   |                      ^^^
-
-error: link cfg must be of the form `cfg(/* predicate */)`
-  --> $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: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: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: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: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: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:35:34
-   |
-LL | #[link(name = "...", modifiers = "+unknown")]
-   |                                  ^^^^^^^^^^
-
-error: multiple `verbatim` modifiers in a single `modifiers` argument
-  --> $DIR/link-attr-validation-late.rs:36:34
-   |
-LL | #[link(name = "...", modifiers = "+verbatim,+verbatim")]
-   |                                  ^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 24 previous errors
-
-For more information about this error, try `rustc --explain E0459`.
diff --git a/tests/ui/linkage-attr/link-cfg-works.rs b/tests/ui/linkage-attr/link-cfg-works.rs
deleted file mode 100644
index 7b936bc43b1..00000000000
--- a/tests/ui/linkage-attr/link-cfg-works.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-//@ run-pass
-//@ aux-build:link-cfg-works-transitive-rlib.rs
-//@ aux-build:link-cfg-works-transitive-dylib.rs
-
-#![feature(link_cfg)]
-
-extern crate link_cfg_works_transitive_dylib;
-extern crate link_cfg_works_transitive_rlib;
-
-#[link(name = "foo", cfg(foo))]
-extern "C" {}
-
-fn main() {}
diff --git a/tests/ui/linkage-attr/uikit-framework.rs b/tests/ui/linkage-attr/uikit-framework.rs
deleted file mode 100644
index fca0332384a..00000000000
--- a/tests/ui/linkage-attr/uikit-framework.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-//! Check that linking to UIKit on platforms where that is available works.
-//@ revisions: ios tvos watchos visionos
-//@ [ios]only-ios
-//@ [tvos]only-tvos
-//@ [watchos]only-watchos
-//@ [visionos]only-visionos
-//@ build-pass
-
-use std::ffi::{c_char, c_int, c_void};
-
-#[link(name = "UIKit", kind = "framework")]
-extern "C" {
-    pub fn UIApplicationMain(
-        argc: c_int,
-        argv: *const c_char,
-        principalClassName: *const c_void,
-        delegateClassName: *const c_void,
-    ) -> c_int;
-}
-
-pub fn main() {
-    unsafe {
-        UIApplicationMain(0, core::ptr::null(), core::ptr::null(), core::ptr::null());
-    }
-}