Skip to content

Commit 2a57448

Browse files
committed
Fix conflicts
1 parent 7392e40 commit 2a57448

File tree

5 files changed

+37
-29
lines changed

5 files changed

+37
-29
lines changed

compiler/rustc_target/src/spec/targets/aarch64_apple_visionos.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
use crate::spec::base::apple::{opts, visionos_llvm_target, Arch};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
1+
use crate::spec::base::apple::{opts, pre_link_args, visionos_llvm_target, Arch};
2+
use crate::spec::{FramePointer, MaybeLazy, SanitizerSet, Target, TargetOptions};
33

44
pub fn target() -> Target {
5-
let arch = Arch::Arm64;
6-
let mut base = opts("visionos", arch);
5+
const OS: &str = "visionos";
6+
const ARCH: Arch = Arch::Arm64;
7+
let mut base = opts(OS, ARCH, MaybeLazy::lazy(|| pre_link_args(OS, ARCH)));
78
base.supported_sanitizers = SanitizerSet::ADDRESS | SanitizerSet::THREAD;
89

910
Target {
10-
llvm_target: visionos_llvm_target(arch).into(),
11+
llvm_target: MaybeLazy::lazy(|| visionos_llvm_target(ARCH)),
1112
metadata: crate::spec::TargetMetadata {
1213
description: Some("ARM64 Apple visionOS".into()),
1314
tier: Some(3),
@@ -16,7 +17,7 @@ pub fn target() -> Target {
1617
},
1718
pointer_width: 64,
1819
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".into(),
19-
arch: arch.target_arch(),
20+
arch: ARCH.target_arch(),
2021
options: TargetOptions {
2122
features: "+neon,+fp-armv8,+apple-a16".into(),
2223
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/targets/aarch64_apple_visionos_sim.rs

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
use crate::spec::base::apple::{opts, visionos_sim_llvm_target, Arch};
2-
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
1+
use crate::spec::base::apple::{opts, pre_link_args, visionos_sim_llvm_target, Arch};
2+
use crate::spec::{FramePointer, MaybeLazy, SanitizerSet, Target, TargetOptions};
33

44
pub fn target() -> Target {
5-
let arch = Arch::Arm64_sim;
6-
let mut base = opts("visionos", arch);
5+
const OS: &str = "visionos";
6+
const ARCH: Arch = Arch::Arm64_sim;
7+
8+
let mut base = opts(OS, ARCH, MaybeLazy::lazy(|| pre_link_args(OS, ARCH)));
79
base.supported_sanitizers = SanitizerSet::ADDRESS | SanitizerSet::THREAD;
810

911
Target {
10-
llvm_target: visionos_sim_llvm_target(arch).into(),
12+
llvm_target: MaybeLazy::lazy(|| visionos_sim_llvm_target(ARCH)),
1113
metadata: crate::spec::TargetMetadata {
1214
description: Some("ARM64 Apple visionOS simulator".into()),
1315
tier: Some(3),
@@ -16,7 +18,7 @@ pub fn target() -> Target {
1618
},
1719
pointer_width: 64,
1820
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".into(),
19-
arch: arch.target_arch(),
21+
arch: ARCH.target_arch(),
2022
options: TargetOptions {
2123
features: "+neon,+fp-armv8,+apple-a16".into(),
2224
max_atomic_width: Some(128),

compiler/rustc_target/src/spec/targets/arm64_32_apple_watchos.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
use crate::spec::base::apple::{opts, watchos_llvm_target, Arch};
1+
use crate::spec::base::apple::{opts, pre_link_args, watchos_llvm_target, Arch};
22
use crate::spec::{MaybeLazy, Target, TargetOptions};
33

44
pub fn target() -> Target {
5-
let arch = Arch::Arm64_32;
6-
let base = opts("watchos", arch, MaybeLazy::lazy(|| pre_link_args(OS, ARCH)));
5+
const OS: &str = "watchos";
6+
const ARCH: Arch = Arch::Arm64_32;
7+
8+
let base = opts(OS, ARCH, MaybeLazy::lazy(|| pre_link_args(OS, ARCH)));
79
Target {
8-
llvm_target: watchos_llvm_target(arch).into(),
10+
llvm_target: MaybeLazy::lazy(|| watchos_llvm_target(ARCH)),
911
metadata: crate::spec::TargetMetadata {
1012
description: None,
1113
tier: None,

compiler/rustc_target/src/spec/targets/i686_win7_windows_msvc.rs

+14-12
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@ pub fn target() -> Target {
66
base.max_atomic_width = Some(64);
77
base.vendor = "win7".into();
88

9-
base.add_pre_link_args(
10-
LinkerFlavor::Msvc(Lld::No),
11-
&[
12-
// Mark all dynamic libraries and executables as compatible with the larger 4GiB address
13-
// space available to x86 Windows binaries on x86_64.
14-
"/LARGEADDRESSAWARE",
15-
// Ensure the linker will only produce an image if it can also produce a table of
16-
// the image's safe exception handlers.
17-
// https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers
18-
"/SAFESEH",
19-
],
20-
);
9+
base.pre_link_args = MaybeLazy::lazy(|| {
10+
TargetOptions::link_args(
11+
LinkerFlavor::Msvc(Lld::No),
12+
&[
13+
// Mark all dynamic libraries and executables as compatible with the larger 4GiB address
14+
// space available to x86 Windows binaries on x86_64.
15+
"/LARGEADDRESSAWARE",
16+
// Ensure the linker will only produce an image if it can also produce a table of
17+
// the image's safe exception handlers.
18+
// https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers
19+
"/SAFESEH",
20+
],
21+
)
22+
});
2123

2224
Target {
2325
llvm_target: "i686-pc-windows-msvc".into(),

compiler/rustc_target/src/spec/targets/wasm32_unknown_unknown.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
//! This target is more or less managed by the Rust and WebAssembly Working
1111
//! Group nowadays at <https://github.com/rustwasm>.
1212
13-
use crate::spec::{base, Cc, LinkerFlavor, MaybeLazy, Target};
13+
use crate::spec::add_link_args;
14+
use crate::spec::{base, Cc, LinkerFlavor, MaybeLazy, Target, TargetOptions};
1415

1516
pub fn target() -> Target {
1617
let mut options = base::wasm::options();

0 commit comments

Comments
 (0)