From ba3a6c8f0f52afa8396be3723c55b2a318fdcffe Mon Sep 17 00:00:00 2001 From: Rafael Ravedutti <rafaelravedutti@gmail.com> Date: Thu, 17 Feb 2022 00:33:45 +0100 Subject: [PATCH] Add suffix to integers on static array initialization Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com> --- src/pairs/code_gen/cgen.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pairs/code_gen/cgen.py b/src/pairs/code_gen/cgen.py index 8ca7b08..7191b0a 100644 --- a/src/pairs/code_gen/cgen.py +++ b/src/pairs/code_gen/cgen.py @@ -98,10 +98,16 @@ class CGen: def generate_statement(self, ast_node, bypass_checking=False): if isinstance(ast_node, ArrayDecl): - tkw = Types.ctype2keyword(ast_node.array.type()) + t = ast_node.array.type() + tkw = Types.ctype2keyword(t) size = self.generate_expression(BinOp.inline(ast_node.array.alloc_size())) if ast_node.array.is_static() and ast_node.array.init_value is not None: v_str = str(ast_node.array.init_value) + if t == Types.Int64: + v_str += "LL" + if t == Types.UInt64: + v_str += "ULL" + init_string = v_str + (f", {v_str}" * (size - 1)) self.print(f"{tkw} {ast_node.array.name()}[{size}] = {{{init_string}}};") else: -- GitLab