-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #99916 - dpaoliello:stablizerawdylib, r=wesleywiser
Stabilize raw-dylib for non-x86 This stabilizes the `raw-dylib` and `link_ordinal` features (#58713) for non-x86 architectures (i.e., `x86_64`, `aarch64` and `thumbv7a`): * Marked the `raw_dylib` feature as `active`. * Marked the `link_ordinal` attribute as `ungated`. * Added new errors if either feature is used on x86 targets without the `raw_dylib` feature being enabled. * Updated tests to only set the `raw_dylib` feature when building for x86.
- Loading branch information
Showing
46 changed files
with
86 additions
and
231 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
src/test/ui/feature-gates/feature-gate-raw-dylib-import-name-type.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
src/test/ui/feature-gates/feature-gate-raw-dylib-import-name-type.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
// only-windows | ||
// only-x86 | ||
#[link(name = "foo", kind = "raw-dylib")] | ||
//~^ ERROR: link kind `raw-dylib` is unstable | ||
//~^ ERROR: link kind `raw-dylib` is unstable on x86 | ||
extern "C" {} | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 0 additions & 1 deletion
1
src/test/ui/rfc-2627-raw-dylib/import-name-type-invalid-format.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 2 additions & 11 deletions
13
src/test/ui/rfc-2627-raw-dylib/import-name-type-invalid-format.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,8 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/import-name-type-invalid-format.rs:3:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: import name type must be of the form `import_name_type = "string"` | ||
--> $DIR/import-name-type-invalid-format.rs:6:42 | ||
--> $DIR/import-name-type-invalid-format.rs:5:42 | ||
| | ||
LL | #[link(name = "foo", kind = "raw-dylib", import_name_type = 6)] | ||
| ^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to previous error; 1 warning emitted | ||
error: aborting due to previous error | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 2 additions & 11 deletions
13
src/test/ui/rfc-2627-raw-dylib/import-name-type-multiple.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,8 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/import-name-type-multiple.rs:4:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: multiple `import_name_type` arguments in a single `#[link]` attribute | ||
--> $DIR/import-name-type-multiple.rs:7:74 | ||
--> $DIR/import-name-type-multiple.rs:6:74 | ||
| | ||
LL | #[link(name = "foo", kind = "raw-dylib", import_name_type = "decorated", import_name_type = "decorated")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to previous error; 1 warning emitted | ||
error: aborting due to previous error | ||
|
1 change: 0 additions & 1 deletion
1
src/test/ui/rfc-2627-raw-dylib/import-name-type-unknown-value.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 2 additions & 11 deletions
13
src/test/ui/rfc-2627-raw-dylib/import-name-type-unknown-value.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,8 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/import-name-type-unknown-value.rs:3:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: unknown import name type `unknown`, expected one of: decorated, noprefix, undecorated | ||
--> $DIR/import-name-type-unknown-value.rs:6:42 | ||
--> $DIR/import-name-type-unknown-value.rs:5:42 | ||
| | ||
LL | #[link(name = "foo", kind = "raw-dylib", import_name_type = "unknown")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to previous error; 1 warning emitted | ||
error: aborting due to previous error | ||
|
1 change: 0 additions & 1 deletion
1
src/test/ui/rfc-2627-raw-dylib/import-name-type-unsupported-link-kind.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 3 additions & 12 deletions
15
src/test/ui/rfc-2627-raw-dylib/import-name-type-unsupported-link-kind.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,14 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/import-name-type-unsupported-link-kind.rs:3:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: import name type can only be used with link kind `raw-dylib` | ||
--> $DIR/import-name-type-unsupported-link-kind.rs:6:22 | ||
--> $DIR/import-name-type-unsupported-link-kind.rs:5:22 | ||
| | ||
LL | #[link(name = "foo", import_name_type = "decorated")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: import name type can only be used with link kind `raw-dylib` | ||
--> $DIR/import-name-type-unsupported-link-kind.rs:10:39 | ||
--> $DIR/import-name-type-unsupported-link-kind.rs:9:39 | ||
| | ||
LL | #[link(name = "bar", kind = "static", import_name_type = "decorated")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to 2 previous errors; 1 warning emitted | ||
error: aborting due to 2 previous errors | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 2 additions & 11 deletions
13
src/test/ui/rfc-2627-raw-dylib/import-name-type-x86-only.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,8 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/import-name-type-x86-only.rs:3:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: import name type is only supported on x86 | ||
--> $DIR/import-name-type-x86-only.rs:5:42 | ||
--> $DIR/import-name-type-x86-only.rs:3:42 | ||
| | ||
LL | #[link(name = "foo", kind = "raw-dylib", import_name_type = "decorated")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to previous error; 1 warning emitted | ||
error: aborting due to previous error | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 3 additions & 12 deletions
15
src/test/ui/rfc-2627-raw-dylib/link-ordinal-and-name.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,14 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/link-ordinal-and-name.rs:1:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: cannot use `#[link_name]` with `#[link_ordinal]` | ||
--> $DIR/link-ordinal-and-name.rs:7:5 | ||
--> $DIR/link-ordinal-and-name.rs:6:5 | ||
| | ||
LL | #[link_ordinal(42)] | ||
| ^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: cannot use `#[link_name]` with `#[link_ordinal]` | ||
--> $DIR/link-ordinal-and-name.rs:11:5 | ||
--> $DIR/link-ordinal-and-name.rs:10:5 | ||
| | ||
LL | #[link_ordinal(5)] | ||
| ^^^^^^^^^^^^^^^^^^ | ||
|
||
error: aborting due to 2 previous errors; 1 warning emitted | ||
error: aborting due to 2 previous errors | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 3 additions & 12 deletions
15
src/test/ui/rfc-2627-raw-dylib/link-ordinal-invalid-format.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,18 @@ | ||
warning: the feature `raw_dylib` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/link-ordinal-invalid-format.rs:1:12 | ||
| | ||
LL | #![feature(raw_dylib)] | ||
| ^^^^^^^^^ | ||
| | ||
= note: `#[warn(incomplete_features)]` on by default | ||
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information | ||
|
||
error: illegal ordinal format in `link_ordinal` | ||
--> $DIR/link-ordinal-invalid-format.rs:6:5 | ||
--> $DIR/link-ordinal-invalid-format.rs:5:5 | ||
| | ||
LL | #[link_ordinal("JustMonika")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: an unsuffixed integer value, e.g., `1`, is expected | ||
|
||
error: illegal ordinal format in `link_ordinal` | ||
--> $DIR/link-ordinal-invalid-format.rs:9:5 | ||
--> $DIR/link-ordinal-invalid-format.rs:8:5 | ||
| | ||
LL | #[link_ordinal("JustMonika")] | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: an unsuffixed integer value, e.g., `1`, is expected | ||
|
||
error: aborting due to 2 previous errors; 1 warning emitted | ||
error: aborting due to 2 previous errors | ||
|
3 changes: 1 addition & 2 deletions
3
src/test/ui/rfc-2627-raw-dylib/link-ordinal-missing-argument.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.