Skip to main content

rustc_target/spec/targets/
i686_pc_nto_qnx700.rs

1use crate::spec::base::qnx_sdp;
2use crate::spec::{Arch, Env, RustcAbi, StackProbeType, Target, TargetOptions, base};
3
4pub(crate) fn target() -> Target {
5    let mut meta = qnx_sdp::meta();
6    meta.description = Some("32-bit x86 QNX SDP 7.0".into());
7    meta.std = Some(false);
8    Target {
9        llvm_target: "i586-pc-unknown".into(),
10        metadata: meta,
11        pointer_width: 32,
12        data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
13            i128:128-f64:32:64-f80:32-n8:16:32-S128"
14            .into(),
15        arch: Arch::X86,
16        options: TargetOptions {
17            rustc_abi: Some(RustcAbi::X86Sse2),
18            cpu: "pentium4".into(),
19            max_atomic_width: Some(64),
20            pre_link_args: qnx_sdp::pre_link_args(
21                qnx_sdp::ApiVariant::Default,
22                qnx_sdp::Arch::I586,
23            ),
24            // for QNX SDP 7.x, we keep target_os = "nto" for backwards compatibility, and use target_env to specify which version
25            env: Env::Nto70,
26            vendor: "pc".into(),
27            stack_probes: StackProbeType::Inline,
28            ..base::qnx_sdp::opts()
29        },
30    }
31}