Skip to content

Commit 856c662

Browse files
committed
expand -Clinker-features tests
- ensure only `-Clinker-features=-lld` is stabilized, and only on x64 linux - test `-Clinker-features` unstable values
1 parent d617902 commit 856c662

13 files changed

+59
-19
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Check that only `-C linker-features=-lld` is stable on x64 linux. Any other value or target,
2+
// needs `-Z unstable-options`.
3+
4+
// ignore-tidy-linelength
5+
6+
//@ revisions: unstable_target_positive unstable_target_negative unstable_positive
7+
//@ [unstable_target_negative] compile-flags: --target=x86_64-unknown-linux-musl -C linker-features=-lld --crate-type=rlib
8+
//@ [unstable_target_negative] needs-llvm-components: x86
9+
//@ [unstable_target_positive] compile-flags: --target=x86_64-unknown-linux-musl -C linker-features=+lld --crate-type=rlib
10+
//@ [unstable_target_positive] needs-llvm-components: x86
11+
//@ [unstable_positive] compile-flags: --target=x86_64-unknown-linux-gnu -C linker-features=+lld --crate-type=rlib
12+
//@ [unstable_positive] needs-llvm-components: x86
13+
14+
15+
#![feature(no_core)]
16+
#![no_core]
17+
18+
//[unstable_target_negative]~? ERROR `-C linker-features=-lld` is unstable on the `x86_64-unknown-linux-musl` target
19+
//[unstable_target_positive,unstable_positive]~? ERROR `-C linker-features=+lld` is unstable, and also requires the `-Z unstable-options`
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
error: `-C linker-features=+lld` is unstable, and also requires the `-Z unstable-options` flag to be used
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
error: `-C linker-features=-lld` is unstable on the `x86_64-unknown-linux-musl` target. The `-Z unstable-options` flag must also be passed to use it on this target
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
error: `-C linker-features=+lld` is unstable, and also requires the `-Z unstable-options` flag to be used
2+
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
error: incorrect value `*lld` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
1+
error: incorrect value `*lld` for codegen option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
22

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
error: incorrect value `-lld@+lld` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
1+
error: incorrect value `-lld@+lld` for codegen option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
22

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
error: incorrect value `` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
1+
error: incorrect value `` for codegen option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
22

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
//! Check that malformed `-Zlinker-features` flags are properly rejected.
1+
//! Check that malformed `-Clinker-features` flags are properly rejected.
22
33
//@ revisions: no_value
4-
//@[no_value] compile-flags: -Zlinker-features=
5-
//[no_value]~? ERROR incorrect value `` for unstable option `linker-features`
4+
//@[no_value] compile-flags: -Clinker-features=
5+
//[no_value]~? ERROR incorrect value `` for codegen option `linker-features`
66

77
//@ revisions: invalid_modifier
8-
//@[invalid_modifier] compile-flags: -Zlinker-features=*lld
9-
//[invalid_modifier]~? ERROR incorrect value `*lld` for unstable option `linker-features`
8+
//@[invalid_modifier] compile-flags: -Clinker-features=*lld
9+
//[invalid_modifier]~? ERROR incorrect value `*lld` for codegen option `linker-features`
1010

1111
//@ revisions: unknown_value
12-
//@[unknown_value] compile-flags: -Zlinker-features=unknown
13-
//[unknown_value]~? ERROR incorrect value `unknown` for unstable option `linker-features`
12+
//@[unknown_value] compile-flags: -Clinker-features=unknown
13+
//[unknown_value]~? ERROR incorrect value `unknown` for codegen option `linker-features`
1414

1515
//@ revisions: unknown_modifier_value
16-
//@[unknown_modifier_value] compile-flags: -Zlinker-features=-unknown
17-
//[unknown_modifier_value]~? ERROR incorrect value `-unknown` for unstable option `linker-features`
16+
//@[unknown_modifier_value] compile-flags: -Clinker-features=-unknown
17+
//[unknown_modifier_value]~? ERROR incorrect value `-unknown` for codegen option `linker-features`
1818

1919
//@ revisions: unknown_boolean
20-
//@[unknown_boolean] compile-flags: -Zlinker-features=maybe
21-
//[unknown_boolean]~? ERROR incorrect value `maybe` for unstable option `linker-features`
20+
//@[unknown_boolean] compile-flags: -Clinker-features=maybe
21+
//[unknown_boolean]~? ERROR incorrect value `maybe` for codegen option `linker-features`
2222

2323
//@ revisions: invalid_separator
24-
//@[invalid_separator] compile-flags: -Zlinker-features=-lld@+lld
25-
//[invalid_separator]~? ERROR incorrect value `-lld@+lld` for unstable option `linker-features`
24+
//@[invalid_separator] compile-flags: -Clinker-features=-lld@+lld
25+
//[invalid_separator]~? ERROR incorrect value `-lld@+lld` for codegen option `linker-features`
2626

2727
fn main() {}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
error: incorrect value `maybe` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
1+
error: incorrect value `maybe` for codegen option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
22

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
error: incorrect value `-unknown` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
1+
error: incorrect value `-unknown` for codegen option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
22

0 commit comments

Comments
 (0)