1
Fork 0

rustc: Allow callees to use alias args

This commit is contained in:
Patrick Walton 2010-12-07 12:34:10 -08:00
parent 7f85945b05
commit e558ff907f

View file

@ -1885,12 +1885,15 @@ fn copy_args_to_allocas(@block_ctxt cx, vec[ast.arg] args,
let uint arg_n = 0u; let uint arg_n = 0u;
for (ast.arg aarg in args) { for (ast.arg aarg in args) {
auto arg_t = type_of_arg(cx.fcx.ccx, arg_tys.(arg_n)); if (aarg.mode != ast.alias) {
auto alloca = cx.build.Alloca(arg_t); auto arg_t = type_of_arg(cx.fcx.ccx, arg_tys.(arg_n));
auto argval = cx.fcx.llargs.get(aarg.id); auto alloca = cx.build.Alloca(arg_t);
cx.build.Store(argval, alloca); auto argval = cx.fcx.llargs.get(aarg.id);
// Overwrite the llargs entry for this arg with its alloca. cx.build.Store(argval, alloca);
cx.fcx.llargs.insert(aarg.id, alloca); // Overwrite the llargs entry for this arg with its alloca.
cx.fcx.llargs.insert(aarg.id, alloca);
}
arg_n += 1u; arg_n += 1u;
} }
} }