Refactor type_f16|32|128 functions. Common type_kind()
fix
This commit is contained in:
parent
55788e4a92
commit
2eaac2388d
25
src/type_.rs
25
src/type_.rs
@ -125,47 +125,32 @@ fn type_isize(&self) -> Type<'gcc> {
|
||||
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")
|
||||
bug!("unsupported float width 16")
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "master"))]
|
||||
fn type_f16(&self) -> Type<'gcc> {
|
||||
unimplemented!("f16")
|
||||
}
|
||||
|
||||
#[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> {
|
||||
|
Loading…
Reference in New Issue
Block a user