Opened 8 years ago
Closed 8 years ago
#4760 closed defect (fixed)
Issue with arrays in codegen when using the NF
| Reported by: | Francesco Casella | Owned by: | Per Östlund |
|---|---|---|---|
| Priority: | high | Milestone: | 2.0.0 |
| Component: | New Instantiation | Version: | |
| Keywords: | Cc: |
Description
Please check https://libraries.openmodelica.org/branches/newInst/Modelica_3.2.2/files/Modelica_3.2.2_Modelica.Blocks.Examples.NoiseExamples.Distributions.err Modelica.Blocks.Examples.NoiseExamples.Distributions. The following error is obtained:
[CodegenCFunctions.tpl:4819:15-4819:15:writable] Error: Template error: This should have been handled in indexed assign and should not have gotten here. state[1:2]. [CodegenCFunctions.tpl:4819:15-4819:15:writable] Error: Template error: This should have been handled in indexed assign and should not have gotten here. state[i:i + 1].
Apparently, something's wrong in the NF-generated DAE structure that the back-end does not handle as expected.
Change History (2)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Fixed in 801639b. Not expanding the rhs seems to work fine, the actual issue was that the assignment wasn't marked as an array assignment.
Note:
See TracTickets
for help on using tickets.

Apparently, the offending code is the statement
inside function
initialStateWithXorshift64star. The old FE expanded the righ-hand-side tostate[i:1 + i] := {aux[1], aux[2]};while the NF keeps the same expression as in the original code.
I'm not sure if the NF or the code generation needs to be updated here.