Skip to content

Commit fc8c514

Browse files
committed
Emit code for LBOUND and UBOUND in param arrays
This emits the logic for LBound and UBound on arrays passed by parameter.
1 parent fe2cfb4 commit fc8c514

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

arch/zx48k/translator.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,7 +1305,9 @@ def visit_LBOUND(self, node):
13051305
if entry.scope == SCOPE.global_:
13061306
self.ic_fparam(gl.PTR_TYPE, '#{}'.format(entry.mangled))
13071307
elif entry.scope == SCOPE.parameter:
1308-
self.ic_fparam(entry.t, entry.offset)
1308+
self.ic_pload(gl.PTR_TYPE, entry.t, entry.offset)
1309+
t1 = optemps.new_t()
1310+
self.ic_fparam(gl.PTR_TYPE, t1)
13091311
elif entry.scope == SCOPE.local:
13101312
self.ic_paddr(-entry.offset, entry.t)
13111313
t1 = optemps.new_t()
@@ -1320,7 +1322,9 @@ def visit_UBOUND(self, node):
13201322
if entry.scope == SCOPE.global_:
13211323
self.ic_fparam(gl.PTR_TYPE, '#{}'.format(entry.mangled))
13221324
elif entry.scope == SCOPE.parameter:
1323-
self.ic_fparam(entry.t, entry.offset)
1325+
self.ic_pload(gl.PTR_TYPE, entry.t, entry.offset)
1326+
t1 = optemps.new_t()
1327+
self.ic_fparam(gl.PTR_TYPE, t1)
13241328
elif entry.scope == SCOPE.local:
13251329
self.ic_paddr(-entry.offset, entry.t)
13261330
t1 = optemps.new_t()

0 commit comments

Comments
 (0)