From 0054f58575a19da2e3f095a9c0a2e3210609f829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Sj=C3=B6lund?= Date: Wed, 17 Mar 2021 11:00:46 +0100 Subject: [PATCH] Fix infinite loop in the diff algorithm --- OMCompiler/Compiler/Parsers/SimpleModelicaParser.mo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OMCompiler/Compiler/Parsers/SimpleModelicaParser.mo b/OMCompiler/Compiler/Parsers/SimpleModelicaParser.mo index 271cc8faf0e..eeb3f689cc0 100644 --- a/OMCompiler/Compiler/Parsers/SimpleModelicaParser.mo +++ b/OMCompiler/Compiler/Parsers/SimpleModelicaParser.mo @@ -2195,7 +2195,7 @@ algorithm guard min(parseTreeIsWhitespaceOrParNotComment(t) for t in tree) algorithm diff := (Diff.Equal, tree)::diff1::diff; - then diffLocal; + then {}; case ((diff1 as (Diff.Equal,tree1 as (_::_)))::(Diff.Delete, tree)::(diffLocal as ((Diff.Equal,tree2 as (_::_))::_))) guard needsWhitespaceBetweenTokens(lastToken(List.last(tree1)), firstTokenInTree(listGet(tree2, 1))) algorithm