]> git.lizzy.rs Git - rust.git/blob - src/librustc_target/spec/sparcv9_sun_solaris.rs
Auto merge of #68943 - ecstatic-morse:no-useless-drop-on-enum-variants, r=matthewjasper
[rust.git] / src / librustc_target / spec / sparcv9_sun_solaris.rs
1 use crate::spec::{LinkerFlavor, Target, TargetResult};
2
3 pub fn target() -> TargetResult {
4     let mut base = super::solaris_base::opts();
5     base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]);
6     // llvm calls this "v9"
7     base.cpu = "v9".to_string();
8     base.max_atomic_width = Some(64);
9
10     Ok(Target {
11         llvm_target: "sparcv9-sun-solaris".to_string(),
12         target_endian: "big".to_string(),
13         target_pointer_width: "64".to_string(),
14         target_c_int_width: "32".to_string(),
15         data_layout: "E-m:e-i64:64-n32:64-S128".to_string(),
16         // Use "sparc64" instead of "sparcv9" here, since the former is already
17         // used widely in the source base.  If we ever needed ABI
18         // differentiation from the sparc64, we could, but that would probably
19         // just be confusing.
20         arch: "sparc64".to_string(),
21         target_os: "solaris".to_string(),
22         target_env: String::new(),
23         target_vendor: "sun".to_string(),
24         linker_flavor: LinkerFlavor::Gcc,
25         options: base,
26     })
27 }