Skip to content

Commit 0f9d6b1

Browse files
author
Jens Frenkel
committed
- bugfix for multibody, generate also code for bind expressions of function variables
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@8322 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent 678e001 commit 0f9d6b1

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Compiler/susan_codegen/SimCode/SimCodeC.tpl

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3434,10 +3434,19 @@ case var as VARIABLE(__) then
34343434
daeExp(exp, contextFunction, &varInits /*BUFC*/, &varDecls /*BUFD*/)
34353435
;separator=", ")
34363436
if instDims then
3437-
let &varInits += 'alloc_<%expTypeShort(var.ty)%>_array(&<%varName%>, <%listLength(instDims)%>, <%instDimsInit%>);<%\n%>'
3438-
let defaultValue = varDefaultValue(var, outStruct, i, varName, &varDecls, &varInits)
3439-
let &varInits += defaultValue
3440-
" "
3437+
(match var.value
3438+
case SOME(exp) then
3439+
let &varInits += 'alloc_<%expTypeShort(var.ty)%>_array(&<%varName%>, <%listLength(instDims)%>, <%instDimsInit%>);<%\n%>'
3440+
let defaultValue = varDefaultValue(var, outStruct, i, varName, &varDecls, &varInits)
3441+
let &varInits += defaultValue
3442+
let defaultValue1 = '<%contextCref(var.name,contextFunction)%> = <%daeExp(exp, contextFunction, &varInits /*BUFC*/, &varDecls /*BUFD*/)%>;<%\n%>'
3443+
let &varInits += defaultValue1
3444+
" "
3445+
else
3446+
let &varInits += 'alloc_<%expTypeShort(var.ty)%>_array(&<%varName%>, <%listLength(instDims)%>, <%instDimsInit%>);<%\n%>'
3447+
let defaultValue = varDefaultValue(var, outStruct, i, varName, &varDecls, &varInits)
3448+
let &varInits += defaultValue
3449+
"")
34413450
else
34423451
(match var.value
34433452
case SOME(exp) then

0 commit comments

Comments
 (0)