@@ -278,6 +278,7 @@ impl LinkerFlavor {
278
278
}
279
279
}
280
280
281
+ /// Returns the corresponding backwards-compatible CLI flavor.
281
282
fn to_cli ( self ) -> LinkerFlavorCli {
282
283
match self {
283
284
LinkerFlavor :: Gnu ( Cc :: Yes , _)
@@ -298,6 +299,20 @@ impl LinkerFlavor {
298
299
}
299
300
}
300
301
302
+ /// Returns the modern CLI flavor that is the counterpart of this flavor.
303
+ fn to_cli_counterpart ( self ) -> LinkerFlavorCli {
304
+ match self {
305
+ LinkerFlavor :: Gnu ( cc, lld) => LinkerFlavorCli :: Gnu ( cc, lld) ,
306
+ LinkerFlavor :: Darwin ( cc, lld) => LinkerFlavorCli :: Darwin ( cc, lld) ,
307
+ LinkerFlavor :: WasmLld ( cc) => LinkerFlavorCli :: WasmLld ( cc) ,
308
+ LinkerFlavor :: Unix ( cc) => LinkerFlavorCli :: Unix ( cc) ,
309
+ LinkerFlavor :: Msvc ( lld) => LinkerFlavorCli :: Msvc ( lld) ,
310
+ LinkerFlavor :: EmCc => LinkerFlavorCli :: EmCc ,
311
+ LinkerFlavor :: Bpf => LinkerFlavorCli :: Bpf ,
312
+ LinkerFlavor :: Ptx => LinkerFlavorCli :: Ptx ,
313
+ }
314
+ }
315
+
301
316
fn infer_cli_hints ( cli : LinkerFlavorCli ) -> ( Option < Cc > , Option < Lld > ) {
302
317
match cli {
303
318
LinkerFlavorCli :: Gnu ( cc, lld) | LinkerFlavorCli :: Darwin ( cc, lld) => {
@@ -2273,7 +2288,7 @@ impl TargetOptions {
2273
2288
}
2274
2289
2275
2290
fn update_to_cli ( & mut self ) {
2276
- self . linker_flavor_json = self . linker_flavor . to_cli ( ) ;
2291
+ self . linker_flavor_json = self . linker_flavor . to_cli_counterpart ( ) ;
2277
2292
self . lld_flavor_json = self . linker_flavor . lld_flavor ( ) ;
2278
2293
self . linker_is_gnu_json = self . linker_flavor . is_gnu ( ) ;
2279
2294
for ( args, args_json) in [
@@ -2283,8 +2298,10 @@ impl TargetOptions {
2283
2298
( & self . late_link_args_static , & mut self . late_link_args_static_json ) ,
2284
2299
( & self . post_link_args , & mut self . post_link_args_json ) ,
2285
2300
] {
2286
- * args_json =
2287
- args. iter ( ) . map ( |( flavor, args) | ( flavor. to_cli ( ) , args. clone ( ) ) ) . collect ( ) ;
2301
+ * args_json = args
2302
+ . iter ( )
2303
+ . map ( |( flavor, args) | ( flavor. to_cli_counterpart ( ) , args. clone ( ) ) )
2304
+ . collect ( ) ;
2288
2305
}
2289
2306
}
2290
2307
}
0 commit comments