1 use super::apple_sdk_base
::{opts, Arch}
;
2 use crate::spec
::{FramePointer, Target, TargetOptions}
;
4 pub fn target() -> Target
{
5 // Clang automatically chooses a more specific target based on
6 // IPHONEOS_DEPLOYMENT_TARGET.
7 // This is required for the target to pick the right
8 // MACH-O commands, so we do too.
10 let llvm_target
= super::apple_base
::ios_llvm_target(arch
);
15 data_layout
: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(),
16 arch
: "aarch64".to_string(),
17 options
: TargetOptions
{
18 features
: "+neon,+fp-armv8,+apple-a7".to_string(),
19 max_atomic_width
: Some(128),
20 forces_embed_bitcode
: true,
21 frame_pointer
: FramePointer
::NonLeaf
,
22 // Taken from a clang build on Xcode 11.4.1.
23 // These arguments are not actually invoked - they just have
24 // to look right to pass App Store validation.
25 bitcode_llvm_cmdline
: "-triple\0\
26 arm64-apple-ios11.0.0\0\
28 -disable-llvm-passes\0\
33 ..opts("ios", Arch
::Arm64
)