]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/x86_64_apple_watchos_sim.rs
Auto merge of #2680 - RalfJung:rustup, r=RalfJung
[rust.git] / compiler / rustc_target / src / spec / x86_64_apple_watchos_sim.rs
1 use super::apple_base::{opts, watchos_sim_llvm_target, Arch};
2 use crate::spec::{StackProbeType, Target, TargetOptions};
3
4 pub fn target() -> Target {
5     let arch = Arch::X86_64_sim;
6     Target {
7         llvm_target: watchos_sim_llvm_target(arch).into(),
8         pointer_width: 64,
9         data_layout: "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
10             .into(),
11         arch: arch.target_arch(),
12         options: TargetOptions {
13             max_atomic_width: Some(64),
14             stack_probes: StackProbeType::X86,
15             forces_embed_bitcode: true,
16             // Taken from a clang build on Xcode 11.4.1.
17             // These arguments are not actually invoked - they just have
18             // to look right to pass App Store validation.
19             bitcode_llvm_cmdline: "-triple\0\
20                 x86_64-apple-watchos5.0-simulator\0\
21                 -emit-obj\0\
22                 -disable-llvm-passes\0\
23                 -target-abi\0\
24                 darwinpcs\0\
25                 -Os\0"
26                 .into(),
27             ..opts("watchos", arch)
28         },
29     }
30 }