File tree 4 files changed +13
-26
lines changed
tests/run-make/crate-hash-rustc-version
4 files changed +13
-26
lines changed Original file line number Diff line number Diff line change @@ -817,7 +817,6 @@ fn test_unstable_options_tracking_hash() {
817
817
tracked ! ( split_lto_unit, Some ( true ) ) ;
818
818
tracked ! ( src_hash_algorithm, Some ( SourceFileHashAlgorithm :: Sha1 ) ) ;
819
819
tracked ! ( stack_protector, StackProtector :: All ) ;
820
- tracked ! ( symbol_mangling_version, Some ( SymbolManglingVersion :: V0 ) ) ;
821
820
tracked ! ( teach, true ) ;
822
821
tracked ! ( thinlto, Some ( true ) ) ;
823
822
tracked ! ( thir_unsafeck, true ) ;
Original file line number Diff line number Diff line change @@ -2674,28 +2674,19 @@ pub fn build_session_options(
2674
2674
) ;
2675
2675
}
2676
2676
2677
- // Handle both `-Z symbol-mangling-version` and `-C symbol-mangling-version`; the latter takes
2678
- // precedence.
2679
- match ( cg. symbol_mangling_version , unstable_opts. symbol_mangling_version ) {
2680
- ( Some ( smv_c) , Some ( smv_z) ) if smv_c != smv_z => {
2681
- handler. early_error (
2682
- "incompatible values passed for `-C symbol-mangling-version` \
2683
- and `-Z symbol-mangling-version`",
2684
- ) ;
2685
- }
2686
- ( Some ( SymbolManglingVersion :: V0 ) , _) => { }
2687
- ( Some ( _) , _) if !unstable_opts. unstable_options => {
2688
- handler
2689
- . early_error ( "`-C symbol-mangling-version=legacy` requires `-Z unstable-options`" ) ;
2690
- }
2691
- ( None , None ) => { }
2692
- ( None , smv) => {
2693
- handler. early_warn (
2694
- "`-Z symbol-mangling-version` is deprecated; use `-C symbol-mangling-version`" ,
2695
- ) ;
2696
- cg. symbol_mangling_version = smv;
2677
+ // Check for unstable values of `-C symbol-mangling-version`.
2678
+ // This is what prevents them from being used on stable compilers.
2679
+ match cg. symbol_mangling_version {
2680
+ // Stable values:
2681
+ None | Some ( SymbolManglingVersion :: V0 ) => { }
2682
+ // Unstable values:
2683
+ Some ( SymbolManglingVersion :: Legacy ) => {
2684
+ if !unstable_opts. unstable_options {
2685
+ handler. early_error (
2686
+ "`-C symbol-mangling-version=legacy` requires `-Z unstable-options`" ,
2687
+ ) ;
2688
+ }
2697
2689
}
2698
- _ => { }
2699
2690
}
2700
2691
2701
2692
// Check for unstable values of `-C instrument-coverage`.
Original file line number Diff line number Diff line change @@ -1823,9 +1823,6 @@ written to standard error output)"),
1823
1823
"control if mem::uninitialized and mem::zeroed panic on more UB" ) ,
1824
1824
strip: Strip = ( Strip :: None , parse_strip, [ UNTRACKED ] ,
1825
1825
"tell the linker which information to strip (`none` (default), `debuginfo` or `symbols`)" ) ,
1826
- symbol_mangling_version: Option <SymbolManglingVersion > = ( None ,
1827
- parse_symbol_mangling_version, [ TRACKED ] ,
1828
- "which mangling version to use for symbol names ('legacy' (default) or 'v0')" ) ,
1829
1826
#[ rustc_lint_opt_deny_field_access( "use `Session::teach` instead of this field" ) ]
1830
1827
teach: bool = ( false , parse_bool, [ TRACKED ] ,
1831
1828
"show extended diagnostic help (default: no)" ) ,
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ include ../tools.mk
4
4
# Ensure that crates compiled with different rustc versions cannot
5
5
# be dynamically linked.
6
6
7
- FLAGS := -Cprefer-dynamic -Zsymbol -mangling-version=v0
7
+ FLAGS := -Cprefer-dynamic -Csymbol -mangling-version=v0
8
8
UNAME := $(shell uname)
9
9
ifeq ($(UNAME ) ,Linux)
10
10
EXT =".so"
You can’t perform that action at this time.
0 commit comments