summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 38214054..ac28244c 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -478,7 +478,19 @@ impl CodeGenerator for Var {
});
}
VarType::Int(val) => {
- let val = helpers::ast_ty::int_expr(val);
+ let int_kind = self.ty()
+ .into_resolver()
+ .through_type_aliases()
+ .through_type_refs()
+ .resolve(ctx)
+ .expect_type()
+ .as_integer()
+ .unwrap();
+ let val = if int_kind.is_signed() {
+ helpers::ast_ty::int_expr(val)
+ } else {
+ helpers::ast_ty::uint_expr(val as _)
+ };
result.push(quote! {
pub const #canonical_ident : #ty = #val ;
});