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