From 12e7feb71ce1f99ccef425b55295e32027ea69ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Mon, 21 Mar 2011 15:15:08 -0400 Subject: The T_taskptr is already included in the n_args, don't add it twice. --- src/comp/middle/trans.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/comp') diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 420c919e..40ce2896 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -841,13 +841,11 @@ fn decl_upcall_glue(ModuleRef llmod, type_names tn, uint _n) -> ValueRef { } fn get_upcall(&hashmap[str, ValueRef] upcalls, - type_names tn, ModuleRef llmod, - str name, int n_args) -> ValueRef { + ModuleRef llmod, str name, int n_args) -> ValueRef { if (upcalls.contains_key(name)) { ret upcalls.get(name); } - auto inputs = vec(T_taskptr(tn)); - inputs += _vec.init_elt[TypeRef](T_int(), n_args as uint); + auto inputs = _vec.init_elt[TypeRef](T_int(), n_args as uint); auto output = T_int(); auto f = decl_cdecl_fn(llmod, name, T_fn(inputs, output)); upcalls.insert(name, f); @@ -868,7 +866,7 @@ fn trans_upcall2(builder b, @glue_fns glues, type_names tn, ModuleRef llmod, str name, vec[ValueRef] args) -> ValueRef { let int n = (_vec.len[ValueRef](args) as int); - let ValueRef llupcall = get_upcall(upcalls, tn, llmod, name, n); + let ValueRef llupcall = get_upcall(upcalls, llmod, name, n); llupcall = llvm.LLVMConstPointerCast(llupcall, T_int()); let ValueRef llglue = glues.upcall_glues.(n); -- cgit v1.2.3