From e558ff907f1df4a2b67a58d37cbc11c0172d1eb6 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 7 Dec 2010 12:34:10 -0800 Subject: [PATCH] rustc: Allow callees to use alias args --- src/comp/middle/trans.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 947233a465e..d49443ef84d 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -1885,12 +1885,15 @@ fn copy_args_to_allocas(@block_ctxt cx, vec[ast.arg] args, let uint arg_n = 0u; for (ast.arg aarg in args) { - auto arg_t = type_of_arg(cx.fcx.ccx, arg_tys.(arg_n)); - auto alloca = cx.build.Alloca(arg_t); - auto argval = cx.fcx.llargs.get(aarg.id); - cx.build.Store(argval, alloca); - // Overwrite the llargs entry for this arg with its alloca. - cx.fcx.llargs.insert(aarg.id, alloca); + if (aarg.mode != ast.alias) { + auto arg_t = type_of_arg(cx.fcx.ccx, arg_tys.(arg_n)); + auto alloca = cx.build.Alloca(arg_t); + auto argval = cx.fcx.llargs.get(aarg.id); + cx.build.Store(argval, alloca); + // Overwrite the llargs entry for this arg with its alloca. + cx.fcx.llargs.insert(aarg.id, alloca); + } + arg_n += 1u; } } -- GitLab