From 3ab3b36dd1cd3cc67019b2a85bfc4dcc33db50f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Mon, 17 Jul 2023 13:08:13 -0600 Subject: [PATCH 1/2] Fix a bug in cptr_to_u64 in emulation --- src/runtime/lpython/lpython.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/lpython/lpython.py b/src/runtime/lpython/lpython.py index 8817b63ae3..6507536248 100644 --- a/src/runtime/lpython/lpython.py +++ b/src/runtime/lpython/lpython.py @@ -773,7 +773,7 @@ def __repr__(self): return ctypes_c_void_p() def cptr_to_u64(cptr): - return ctypes.addressof(cptr) + return u64(ctypes.addressof(cptr)) def u64_to_cptr(ivalue): return ctypes.c_void_p(ivalue) From a152386d41184d1b5a75baba7c6b83ddbcef959f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Mon, 17 Jul 2023 13:42:59 -0600 Subject: [PATCH 2/2] Add a cast in u64_to_cptr --- src/runtime/lpython/lpython.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/lpython/lpython.py b/src/runtime/lpython/lpython.py index 6507536248..e812581bf7 100644 --- a/src/runtime/lpython/lpython.py +++ b/src/runtime/lpython/lpython.py @@ -776,7 +776,7 @@ def cptr_to_u64(cptr): return u64(ctypes.addressof(cptr)) def u64_to_cptr(ivalue): - return ctypes.c_void_p(ivalue) + return ctypes.c_void_p(i64(ivalue)) def sizeof(arg): return ctypes.sizeof(convert_type_to_ctype(arg))