Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit bcc4086

Browse files
sjoelundOpenModelica-Hudson
authored andcommitted
Allow size() on non-crefs at runtime
Belonging to [master]: - #2148
1 parent 27ab275 commit bcc4086

File tree

1 file changed

+2
-7
lines changed

1 file changed

+2
-7
lines changed

Compiler/Template/CodegenCFunctions.tpl

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6353,22 +6353,17 @@ template daeExpSize(Exp exp, Context context, Text &preExp,
63536353
"Generates code for a size expression."
63546354
::=
63556355
match exp
6356-
case SIZE(exp=CREF(__), sz=SOME(dim)) then
6356+
case SIZE(sz=SOME(dim)) then
63576357
let expPart = daeExp(exp, context, &preExp, &varDecls, &auxFunction)
63586358
let dimPart = daeExp(dim, context, &preExp, &varDecls, &auxFunction)
63596359
let resVar = tempDecl("modelica_integer", &varDecls)
63606360
let &preExp += '<%resVar%> = size_of_dimension_base_array(<%expPart%>, <%dimPart%>);<%\n%>'
63616361
resVar
6362-
case SIZE(exp=CREF(__)) then
6362+
case SIZE(sz=NONE()) then
63636363
let expPart = daeExp(exp, context, &preExp, &varDecls, &auxFunction)
63646364
let resVar = tempDecl("integer_array", &varDecls)
63656365
let &preExp += 'sizes_of_dimensions_base_array(&<%expPart%>, &<%resVar%>);<%\n%>'
63666366
resVar
6367-
/* array of zero? */
6368-
case SIZE(exp=ARRAY(array = {})) then
6369-
let resVar = tempDecl("modelica_integer", &varDecls)
6370-
let &preExp += '<%resVar%> = 0;<%\n%>'
6371-
resVar
63726367
else error(sourceInfo(), ExpressionDumpTpl.dumpExp(exp,"\"") + " not implemented")
63736368
end daeExpSize;
63746369

0 commit comments

Comments
 (0)