Skip to content

Commit 4383a9c

Browse files
lochelOpenModelica-Hudson
authored andcommitted
Don't override empty unit information with dummy value
1 parent 22d2ccb commit 4383a9c

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

Compiler/BackEnd/UnitCheck.mo

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,21 +180,25 @@ protected function returnVar "returns the new calculated units in DAE"
180180
input HashTableUnitToString.HashTable inHtU2S;
181181
output BackendDAE.Var outVar;
182182
algorithm
183-
outVar := match(inVar, inHtCr2U, inHtU2S)
183+
outVar := match(inVar)
184184
local
185185
BackendDAE.Var var;
186186
DAE.ComponentRef cr;
187187
Unit.Unit ut;
188188
String s;
189189

190-
case (BackendDAE.VAR(values = SOME(DAE.VAR_ATTR_REAL(unit=SOME(_)))), _, _)
190+
case BackendDAE.VAR(values = SOME(DAE.VAR_ATTR_REAL(unit=SOME(_))))
191191
then inVar;
192192

193193
else equation
194194
cr = BackendVariable.varCref(inVar);
195195
ut = BaseHashTable.get(cr, inHtCr2U);
196-
s = unit2String(ut, inHtU2S);
197-
var = BackendVariable.setUnit(inVar, DAE.SCONST(s));
196+
if Unit.isUnit(ut) then
197+
s = unit2String(ut, inHtU2S);
198+
var = BackendVariable.setUnit(inVar, DAE.SCONST(s));
199+
else
200+
var = inVar;
201+
end if;
198202
then var;
199203
end match;
200204
end returnVar;
@@ -1196,10 +1200,10 @@ protected
11961200
list<String> charList;
11971201
list<Token> tokenList;
11981202
algorithm
1199-
if inUnitString == "" then
1203+
charList := stringListStringChar(inUnitString);
1204+
if listEmpty(charList) then
12001205
fail();
12011206
end if;
1202-
charList := stringListStringChar(inUnitString);
12031207
tokenList := lexer(charList);
12041208
outUnit := parser(tokenList, Unit.UPDATECREF, inKnownUnits);
12051209
end parseUnitString;

0 commit comments

Comments
 (0)