Skip to content

Commit

Permalink
Refactor type_f16|32|128 functions. Common type_kind()
Browse files Browse the repository at this point in the history
fix
  • Loading branch information
Robert Zakrzewski committed Jun 21, 2024
1 parent 55788e4 commit 2eaac23
Showing 1 changed file with 5 additions and 20 deletions.
25 changes: 5 additions & 20 deletions src/type_.rs
Original file line number Diff line number Diff line change
Expand Up @@ -125,47 +125,32 @@ impl<'gcc, 'tcx> BaseTypeMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
self.isize_type
}

#[cfg(feature = "master")]
fn type_f16(&self) -> Type<'gcc> {
#[cfg(feature = "master")]
if self.supports_f16_type {
return self.context.new_c_type(CType::Float16);
}
unimplemented!("f16")
}

#[cfg(not(feature = "master"))]
fn type_f16(&self) -> Type<'gcc> {
unimplemented!("f16")
bug!("unsupported float width 16")
}

#[cfg(feature = "master")]
fn type_f32(&self) -> Type<'gcc> {
#[cfg(feature = "master")]
if self.supports_f32_type {
return self.context.new_c_type(CType::Float32);
}
self.float_type
}

#[cfg(not(feature = "master"))]
fn type_f32(&self) -> Type<'gcc> {
self.float_type
}

fn type_f64(&self) -> Type<'gcc> {
self.double_type
}

#[cfg(feature = "master")]
fn type_f128(&self) -> Type<'gcc> {
#[cfg(feature = "master")]
if self.supports_f128_type {
return self.context.new_c_type(CType::Float128);
}
unimplemented!("f128")
}

#[cfg(not(feature = "master"))]
fn type_f128(&self) -> Type<'gcc> {
unimplemented!("f128")
bug!("unsupported float width 128")
}

fn type_func(&self, params: &[Type<'gcc>], return_type: Type<'gcc>) -> Type<'gcc> {
Expand Down

0 comments on commit 2eaac23

Please sign in to comment.