Skip to content

constant parmeters in parmeterized modules are miscompiled #7

@nbuwe

Description

@nbuwe

g_c_assn and g_ret_assn, and probably a few others in g_expr.clu, miscompile references to constant parameters in parameterized modules: they are not fetched through the appropriate owns. E.g. in

foo = proc [_II: int] () returns (int)
    return (_II)
  end foo

the reference to _II is miscompiled as _ii instead of op_own_ptr->_ii. Hiding the reference inside an expression, e.g. _II + 0, sends the compiler through a different codegen path and works around the bug.

Xref: b249e86

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions