Skip to content

Commit bc49d1d

Browse files
vwaurichOpenModelica-Hudson
authored andcommitted
add warning for external alias
1 parent 1731292 commit bc49d1d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Compiler/BackEnd/BackendDAECreate.mo

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ algorithm
175175
execStat("Generate backend data structure");
176176
end lower;
177177

178-
protected function getExternalObjectAlias"Checks equations if there is an alias assignment between external objects. If yes, assign alias var, replce equations, remove alia equation.
178+
protected function getExternalObjectAlias "Checks equations if there is an alias equation for external objects.
179+
If yes, assign alias var, replace equations, remove alias equation.
179180
author: waurich TUD 2016-10"
180181
input list<BackendDAE.Equation> inEqs;
181182
input BackendDAE.Variables extVars;
@@ -194,6 +195,10 @@ algorithm
194195
// get alias equations for external objects
195196
(oEqs,aliasEqs) := List.fold1(inEqs,getExternalObjectAlias2,extCrefs,({},{}));
196197

198+
if (not listEmpty(aliasEqs)) then
199+
Error.addCompilerWarning("Alias equations of external objects are not Modelica compliant as in:\n "+stringDelimitList(List.map(aliasEqs,BackendDump.equationString),"\n ")+"\n");
200+
end if;
201+
197202
//assign aliasVariables and set new binding
198203
repl := BackendVarTransform.emptyReplacements();
199204
(aliasVarLst,repl) := List.fold1(aliasEqs,getExternalObjectAlias3,extVars,({},repl));
@@ -207,7 +212,7 @@ algorithm
207212
oEqs := listReverse(oEqs);
208213
end getExternalObjectAlias;
209214

210-
protected function getExternalObjectAlias3"Gets the alias var and sim var for the given alias equation and adds a replacement rule
215+
protected function getExternalObjectAlias3 "Gets the alias var and sim var for the given alias equation and adds a replacement rule
211216
author: waurich TUD 2016-10"
212217
input BackendDAE.Equation eqIn;
213218
input BackendDAE.Variables extVars;
@@ -236,7 +241,7 @@ algorithm
236241
end try;
237242
end getExternalObjectAlias3;
238243

239-
protected function chooseExternalAlias"Chooses a alias variable depending on which variable has a binding
244+
protected function chooseExternalAlias "Chooses a alias variable depending on which variable has a binding
240245
author: waurich TUD 2016-10"
241246
input BackendDAE.Var var1;
242247
input BackendDAE.Var var2;
@@ -255,7 +260,7 @@ algorithm
255260
end if;
256261
end chooseExternalAlias;
257262

258-
protected function getExternalObjectAlias2"Traverser for equations to check if an external alias assignment an be made
263+
protected function getExternalObjectAlias2 "Traverser for equations to check if an external alias assignment an be made
259264
author: waurich TUD 2016-10"
260265
input BackendDAE.Equation eqIn;
261266
input list<DAE.ComponentRef> extCrefs;

0 commit comments

Comments
 (0)