compilers: missing argument unboxing with new nativearray
authorJean Privat <jean@pryen.org>
Thu, 21 May 2015 14:31:25 +0000 (10:31 -0400)
committerJean Privat <jean@pryen.org>
Thu, 21 May 2015 14:31:25 +0000 (10:31 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/compiler/global_compiler.nit
src/compiler/separate_compiler.nit

index ede1beb..b2cf479 100644 (file)
@@ -404,6 +404,7 @@ class GlobalCompilerVisitor
        do
                var ret_type = mmodule.native_array_type(elttype)
                ret_type = anchor(ret_type).as(MClassType)
+               length = autobox(length, compiler.mainmodule.int_type)
                return self.new_expr("NEW_{ret_type.c_name}({length})", ret_type)
        end
 
index 3e7fbcb..085a36d 100644 (file)
@@ -2032,6 +2032,7 @@ class SeparateCompilerVisitor
                self.require_declaration("NEW_{mtype.mclass.c_name}")
                assert mtype isa MGenericType
                var compiler = self.compiler
+               length = autobox(length, compiler.mainmodule.int_type)
                if mtype.need_anchor then
                        hardening_live_open_type(mtype)
                        link_unresolved_type(self.frame.mpropdef.mclassdef, mtype)