Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Update targets for Rust 1.65
Also include target-lexicon updates and fixes.
  • Loading branch information
sunshowers committed Nov 5, 2022
commit 44acd4cd3d03252f84af04e1f6d85f77a2b3e8be
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ targets = ["target-lexicon"]

[dependencies]
smallvec = "1.8"
target-lexicon = { version = "0.12.4", optional = true }
target-lexicon = { version = "0.12.5", optional = true }

[dev-dependencies]
similar-asserts = "1.1"
9 changes: 6 additions & 3 deletions src/expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ impl TargetMatcher for target_lexicon::Triple {
| Environment::Androideabi
| Environment::Eabi
| Environment::Eabihf
| Environment::Sim
)
} else {
match env.0.parse::<Environment>() {
Expand All @@ -177,7 +178,8 @@ impl TargetMatcher for target_lexicon::Triple {
| Environment::Gnuspe
| Environment::Gnux32
| Environment::GnuIlp32
| Environment::Gnueabihf => true,
| Environment::Gnueabihf
| Environment::GnuLlvm => true,
// Rust 1.49.0 changed all android targets to have the
// gnu environment
Environment::Android | Environment::Androideabi
Expand Down Expand Up @@ -221,7 +223,7 @@ impl TargetMatcher for target_lexicon::Triple {
AmdHsa, Bitrig, Cloudabi, Cuda, Darwin, Dragonfly, Emscripten, Espidf, Freebsd,
Fuchsia, Haiku, Hermit, Horizon, Illumos, Ios, L4re, Linux, MacOSX, Nebulet,
Netbsd, None_, Openbsd, Redox, Solaris, Tvos, Uefi, Unknown, VxWorks, Wasi,
Windows,
Watchos, Windows,
};
match self.operating_system {
AmdHsa | Bitrig | Cloudabi | Cuda | Hermit | Nebulet | None_ | Uefi => false,
Expand All @@ -241,7 +243,8 @@ impl TargetMatcher for target_lexicon::Triple {
| Redox
| Solaris
| Tvos
| VxWorks => fam == &crate::targets::Family::unix,
| VxWorks
| Watchos => fam == &crate::targets::Family::unix,
Emscripten => {
match self.architecture {
// asmjs, wasm32 and wasm64 are part of both the wasm and unix families
Expand Down
2 changes: 1 addition & 1 deletion src/targets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ pub fn get_builtin_target_by_triple(triple: &str) -> Option<&'static TargetInfo>
/// versions.
///
/// ```
/// assert_eq!("1.64.0", cfg_expr::targets::rustc_version());
/// assert_eq!("1.65.0", cfg_expr::targets::rustc_version());
/// ```
pub fn rustc_version() -> &'static str {
builtins::RUSTC_VERSION
Expand Down
58 changes: 53 additions & 5 deletions src/targets/builtins.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

use super::*;

pub(crate) const RUSTC_VERSION: &str = "1.64.0";
pub(crate) const RUSTC_VERSION: &str = "1.65.0";

pub const ALL_BUILTINS: &[TargetInfo] = &[
TargetInfo {
Expand Down Expand Up @@ -142,7 +142,7 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
families: Families::windows,
pointer_width: 64,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
panic: Panic::unwind,
},
TargetInfo {
Expand All @@ -154,7 +154,7 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
families: Families::windows,
pointer_width: 64,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
panic: Panic::unwind,
},
TargetInfo {
Expand Down Expand Up @@ -286,7 +286,7 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
families: Families::new_const(&[]),
pointer_width: 64,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
panic: Panic::abort,
},
TargetInfo {
Expand All @@ -298,7 +298,7 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
families: Families::windows,
pointer_width: 64,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
panic: Panic::unwind,
},
TargetInfo {
Expand Down Expand Up @@ -406,6 +406,18 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
families: Families::unix,
pointer_width: 32,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
panic: Panic::unwind,
},
TargetInfo {
triple: Triple::new_const("armeb-unknown-linux-gnueabi"),
os: Some(Os::linux),
arch: Arch::arm,
env: Some(Env::gnu),
vendor: Some(Vendor::unknown),
families: Families::unix,
pointer_width: 32,
endian: Endian::big,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
panic: Panic::unwind,
},
Expand Down Expand Up @@ -433,6 +445,18 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
has_atomics: HasAtomics::atomic_8_16_32_ptr,
panic: Panic::abort,
},
TargetInfo {
triple: Triple::new_const("armv4t-none-eabi"),
os: None,
arch: Arch::arm,
env: None,
vendor: Some(Vendor::unknown),
families: Families::new_const(&[]),
pointer_width: 32,
endian: Endian::little,
has_atomics: HasAtomics::new_const(&[]),
panic: Panic::abort,
},
TargetInfo {
triple: Triple::new_const("armv4t-unknown-linux-gnueabi"),
os: Some(Os::linux),
Expand Down Expand Up @@ -1393,6 +1417,18 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
panic: Panic::unwind,
},
TargetInfo {
triple: Triple::new_const("powerpc64-unknown-openbsd"),
os: Some(Os::openbsd),
arch: Arch::powerpc64,
env: None,
vendor: Some(Vendor::unknown),
families: Families::unix,
pointer_width: 64,
endian: Endian::big,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
panic: Panic::unwind,
},
TargetInfo {
triple: Triple::new_const("powerpc64-wrs-vxworks"),
os: Some(Os::vxworks),
Expand Down Expand Up @@ -1585,6 +1621,18 @@ pub const ALL_BUILTINS: &[TargetInfo] = &[
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
panic: Panic::abort,
},
TargetInfo {
triple: Triple::new_const("riscv64gc-unknown-openbsd"),
os: Some(Os::openbsd),
arch: Arch::riscv64,
env: None,
vendor: Some(Vendor::unknown),
families: Families::unix,
pointer_width: 64,
endian: Endian::little,
has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
panic: Panic::unwind,
},
TargetInfo {
triple: Triple::new_const("riscv64imac-unknown-none-elf"),
os: None,
Expand Down
2 changes: 1 addition & 1 deletion tests/eval.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ impl Target {
environment: tl::Environment::Unknown,
binary_format: tl::BinaryFormat::Unknown,
}),
triple => match triple.parse() {
triple => match triple.parse::<tl::Triple>() {
Ok(l) => Some(l),
Err(e) => {
// There are enough new weird architectures added in each version of
Expand Down