From 03d9481c38d6f47faf93ae375475ad976869863e Mon Sep 17 00:00:00 2001 From: Antoni Boucher Date: Wed, 16 Oct 2024 20:55:56 -0400 Subject: [PATCH] Update GCC version with the removal of supports_128bit_int --- libgccjit.version | 2 +- src/base.rs | 3 ++- src/lib.rs | 13 ++++--------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libgccjit.version b/libgccjit.version index e515f223212..f6b512a0280 100644 --- a/libgccjit.version +++ b/libgccjit.version @@ -1 +1 @@ -c16f53a752ed2b679fafe88d4ec795fe54a245ac +29901846ff610daab8a80436cfe36e93b4b5aa1e diff --git a/src/base.rs b/src/base.rs index 2eaab3ed00c..2838aad1afe 100644 --- a/src/base.rs +++ b/src/base.rs @@ -199,12 +199,13 @@ pub fn compile_codegen_unit( let f32_type_supported = target_info.supports_target_dependent_type(CType::Float32); let f64_type_supported = target_info.supports_target_dependent_type(CType::Float64); let f128_type_supported = target_info.supports_target_dependent_type(CType::Float128); + let u128_type_supported = target_info.supports_target_dependent_type(CType::UInt128t); // TODO: improve this to avoid passing that many arguments. let cx = CodegenCx::new( &context, cgu, tcx, - target_info.supports_128bit_int(), + u128_type_supported, f16_type_supported, f32_type_supported, f64_type_supported, diff --git a/src/lib.rs b/src/lib.rs index 7b0d594ddc1..ee0c32f81c1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -134,11 +134,10 @@ impl TargetInfo { false } - fn supports_128bit_int(&self) -> bool { - self.supports_128bit_integers.load(Ordering::SeqCst) - } - - fn supports_target_dependent_type(&self, _typ: CType) -> bool { + fn supports_target_dependent_type(&self, typ: CType) -> bool { + if (typ == CType::UInt128t || typ == CType::Int128t) && self.supports_128bit_integers.load(Ordering::SeqCst) { + return true; + } false } } @@ -159,10 +158,6 @@ impl LockedTargetInfo { self.info.lock().expect("lock").cpu_supports(feature) } - fn supports_128bit_int(&self) -> bool { - self.info.lock().expect("lock").supports_128bit_int() - } - fn supports_target_dependent_type(&self, typ: CType) -> bool { self.info.lock().expect("lock").supports_target_dependent_type(typ) }