From 7d8edf70f60c31d0f7d63a99eea682f96382aecf Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Wed, 8 Jan 2014 11:18:02 -0500 Subject: [PATCH] Fix LogicInfo parsing for string logics --- src/theory/logic_info.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/theory/logic_info.cpp b/src/theory/logic_info.cpp index d74f36069..525b129cf 100644 --- a/src/theory/logic_info.cpp +++ b/src/theory/logic_info.cpp @@ -181,16 +181,6 @@ void LogicInfo::setLogicString(std::string logicString) throw(IllegalArgumentExc enableTheory(THEORY_ARRAY); ++p; } - if(*p == 'S') { - // Strings requires arith for length constraints, - // and UF for equality (?) - enableTheory(THEORY_STRINGS); - enableTheory(THEORY_UF); - enableTheory(THEORY_ARITH); - enableIntegers(); - arithOnlyLinear(); - ++p; - } if(!strncmp(p, "UF", 2)) { enableTheory(THEORY_UF); p += 2; @@ -208,6 +198,16 @@ void LogicInfo::setLogicString(std::string logicString) throw(IllegalArgumentExc enableTheory(THEORY_BV); p += 2; } + if(*p == 'S') { + // Strings requires arith for length constraints, + // and UF for equality (?) + enableTheory(THEORY_STRINGS); + enableTheory(THEORY_UF); + enableTheory(THEORY_ARITH); + enableIntegers(); + arithOnlyLinear(); + ++p; + } if(!strncmp(p, "IDL", 3)) { enableIntegers(); disableReals(); -- 2.30.2