﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2030	Array Slice Assignment not simulatable	Jens Frenkel	Martin Sjölund	"The following models is not simulatable because codegeneration/simulation runtime generates invalid code.

{{{
model Test
  Real A[5,2]={{1,2},{3,4},{5,6},{7,8},{9,10}};
  Real X1[5,2];
algorithm
  for i in 1:2 loop
    X1[:,i]:=A[:,i];
  end for;
end Test;
}}}

Code generation generates
{{{
    modelica_integer $Pi;
    for($Pi = (modelica_integer) 1; in_range_integer($Pi, tmp4, tmp6); $Pi += tmp5)
    {
      tmp3 = get_memory_state();
      array_alloc_scalar_real_array(&tmp0, 5, (modelica_real)(&$PA)[(((modelica_integer) 1)*2)+(((modelica_integer)$Pi))], (modelica_real)(&$PA)[(((modelica_integer) 2)*2)+(((modelica_integer)$Pi))], (modelica_real)(&$PA)[(((modelica_integer) 3)*2)+(((modelica_integer)$Pi))], (modelica_real)(&$PA)[(((modelica_integer) 4)*2)+(((modelica_integer)$Pi))], (modelica_real)(&$PA)[(((modelica_integer) 5)*2)+(((modelica_integer)$Pi))]);
      create_index_spec(&tmp1, 2, (1), (int*)0, 'W', (0), make_index_array(1, (int) (modelica_integer)$Pi), 'S');
      indexed_assign_real_array(&tmp0, &tmp2, &tmp1);
      copy_real_array_data_mem(&tmp2, &$PX1);
      restore_memory_state(tmp3);
    }
}}}

The problem is that tmp2.dim_size ist not set and ""copy_real_array_data_mem"" wrote in other memory than reserved for $PX1. Maybe indexed_assign_real_array should set tmp2.dim_size."	defect	closed	critical	1.9.1	Code Generation	trunk	worksforme	array slice assignment	Willi Braun
