]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/arm64_32_apple_watchos.rs
Rollup merge of #104464 - mati865:reduce-eh-overallocation-amd64, r=thomcc
[rust.git] / compiler / rustc_target / src / spec / arm64_32_apple_watchos.rs
1 use super::apple_base::{opts, Arch};
2 use crate::spec::{Target, TargetOptions};
3
4 pub fn target() -> Target {
5     let base = opts("watchos", Arch::Arm64_32);
6     Target {
7         llvm_target: "arm64_32-apple-watchos".into(),
8         pointer_width: 32,
9         data_layout: "e-m:o-p:32:32-i64:64-i128:128-n32:64-S128".into(),
10         arch: "aarch64".into(),
11         options: TargetOptions {
12             features: "+neon,+fp-armv8,+apple-a7".into(),
13             max_atomic_width: Some(128),
14             forces_embed_bitcode: true,
15             dynamic_linking: false,
16             position_independent_executables: true,
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                 arm64_32-apple-watchos5.0.0\0\
21                 -emit-obj\0\
22                 -disable-llvm-passes\0\
23                 -target-abi\0\
24                 darwinpcs\0\
25                 -Os\0"
26                 .into(),
27             ..base
28         },
29     }
30 }