Skip to content

Commit

Permalink
var: Avoid a bit of duplication with fit_macro_constants.
Browse files Browse the repository at this point in the history
  • Loading branch information
emilio committed Dec 19, 2020
1 parent ea4164c commit 5c82186
Showing 1 changed file with 24 additions and 42 deletions.
66 changes: 24 additions & 42 deletions src/ir/var.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,52 +118,34 @@ impl DotAttributes for Var {
}

fn default_macro_constant_type(ctx: &BindgenContext, value: i64) -> IntKind {
if ctx.options().fit_macro_constants {
if value < 0 ||
ctx.options().default_macro_constant_type ==
MacroTypeVariation::Signed
if value < 0 ||
ctx.options().default_macro_constant_type ==
MacroTypeVariation::Signed
{
if value < i32::min_value() as i64 || value > i32::max_value() as i64 {
IntKind::I64
} else if !ctx.options().fit_macro_constants ||
value < i16::min_value() as i64 ||
value > i16::max_value() as i64
{
if value < i32::min_value() as i64 ||
value > i32::max_value() as i64
{
IntKind::I64
} else if value < i16::min_value() as i64 ||
value > i16::max_value() as i64
{
IntKind::I32
} else if value < i8::min_value() as i64 ||
value > i8::max_value() as i64
{
IntKind::I16
} else {
IntKind::I8
}
} else if value > u32::max_value() as i64 {
IntKind::U64
} else if value > u16::max_value() as i64 {
IntKind::U32
} else if value > u8::max_value() as i64 {
IntKind::U16
} else {
IntKind::U8
}
} else {
if value < 0 ||
ctx.options().default_macro_constant_type ==
MacroTypeVariation::Signed
IntKind::I32
} else if value < i8::min_value() as i64 ||
value > i8::max_value() as i64
{
if value < i32::min_value() as i64 ||
value > i32::max_value() as i64
{
IntKind::I64
} else {
IntKind::I32
}
} else if value > u32::max_value() as i64 {
IntKind::U64
IntKind::I16
} else {
IntKind::U32
IntKind::I8
}
} else if value > u32::max_value() as i64 {
IntKind::U64
} else if !ctx.options().fit_macro_constants ||
value > u16::max_value() as i64
{
IntKind::U32
} else if value > u8::max_value() as i64 {
IntKind::U16
} else {
IntKind::U8
}
}

Expand Down

0 comments on commit 5c82186

Please sign in to comment.