Skip to content
Snippets Groups Projects
Commit 45896b6a authored by Forget Julien's avatar Forget Julien
Browse files

Summary: Fix on arrays: missing comma+do a memcpy for arrays on local

input update.


git-svn-id: https://svn.onera.fr/Prelude/Prelude/trunk@881 49f62630-d767-4ccd-930e-b3f5589f52e1
parent 37a6a920
Branches
Tags
No related merge requests found
......@@ -359,9 +359,21 @@ let pp_lread_copy_extern out_f task (vin,vref_pred,proto) =
let pp_lread_copy_local out_f task (vin,vref_pred,proto) =
let buf_name = local_rbuffer_name task.task_id vin.var_id in
if (Types.is_array vin.var_type) then
begin
fprintf out_f "memcpy(%s," buf_name;
pp_lread_source out_f task vin vref_pred proto;
fprintf out_f ",";
fprintf out_f "sizeof(";
pp_lread_source out_f task vin vref_pred proto;
fprintf out_f "));@ "
end
else
begin
fprintf out_f "%s=" buf_name;
pp_lread_source out_f task vin vref_pred proto;
fprintf out_f ";@ "
end
(** Generate activation conditions for [task]. *)
let pp_conds out_f task conds =
......@@ -461,7 +473,7 @@ let pp_parameters out_f task =
if (returns_array task) then
begin
let ret_array = fst (List.hd task.task_outputs) in
fprintf out_f "%s" (local_wbuffer_name task.task_id ret_array.var_id);
fprintf out_f ",%s" (local_wbuffer_name task.task_id ret_array.var_id);
end;
if (List.length task.task_outputs > 1) then
fprintf out_f ",&%s" (outstruct_name task.task_id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment