Source FIXME annotations for issue #81 and a correction to STMT_bind fmt.
This commit is contained in:
parent
a61be2d74a
commit
1ae13b3fdd
@ -1013,7 +1013,7 @@ and fmt_stmt_body (ff:Format.formatter) (s:stmt) : unit =
|
||||
|
||||
| STMT_bind (dst, fn, arg_opts) ->
|
||||
fmt_lval ff dst;
|
||||
fmt ff " = ";
|
||||
fmt ff " = bind ";
|
||||
fmt_lval ff fn;
|
||||
fmt_atom_opts ff arg_opts;
|
||||
fmt ff ";";
|
||||
|
@ -3818,7 +3818,7 @@ let trans_visitor
|
||||
(*
|
||||
* NB: 'all_*_args', both self and callee, are always 4-tuples:
|
||||
*
|
||||
* [out_ptr, task_ptr, [args], [indirect_args]]
|
||||
* [out_ptr, task_ptr, indirect_args, ty_params, [args]]
|
||||
*
|
||||
* The first few bindings here just destructure those via GEP.
|
||||
*
|
||||
@ -3833,6 +3833,9 @@ let trans_visitor
|
||||
get_element_ptr all_self_args_cell Abi.calltup_elt_ty_params
|
||||
in
|
||||
let callee_args_cell =
|
||||
(* FIXME (issue #81): Once we've actually got proper ty_params,
|
||||
* we should GEP dynamically here to get the args, since they may
|
||||
* be aligned dynamically if they have parameterized type. *)
|
||||
get_element_ptr all_callee_args_cell Abi.calltup_elt_args
|
||||
in
|
||||
let self_indirect_args_cell =
|
||||
|
@ -26,11 +26,13 @@ fn init_fn[T](&init_op[T] op, uint n_elts) -> vec[T] {
|
||||
}
|
||||
|
||||
fn init_elt[T](&T t, uint n_elts) -> vec[T] {
|
||||
// FIXME: should be:
|
||||
// fn elt_op[X](X x, uint i) -> X { ret x; }
|
||||
// auto inner = bind elt_op[T](t, _);
|
||||
// ret init_fn[T](inner, n_elts);
|
||||
// but this does not work presently.
|
||||
/**
|
||||
* FIXME (issue #81): should be:
|
||||
*
|
||||
* fn elt_op[T](T x, uint i) -> T { ret x; }
|
||||
* let init_op[T] inner = bind elt_op[T](t, _);
|
||||
* ret init_fn[T](inner, n_elts);
|
||||
*/
|
||||
let vec[T] v = alloc[T](n_elts);
|
||||
let uint i = n_elts;
|
||||
while (i > uint(0)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user