From: Andres Noetzli Date: Wed, 9 Oct 2019 06:24:42 +0000 (-0700) Subject: Avoid printing success for `--force-logic` (#3363) X-Git-Tag: cvc5-1.0.0~3900 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=24f129a63b395a13ba10a05ff128e8e27ba75ed5;p=cvc5.git Avoid printing success for `--force-logic` (#3363) CVC4 was printing success when `--force-logic` was used because internally, `--force-logic` generates a `SetBenchmarkLogicCommand`. This caused issues with the SMT-COMP trace executor. This commit fixes the behavior by muting the command if it was not issued by the user. The issue was likely introduced with #3062. --- diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp index ba512ded9..ffda05d1a 100644 --- a/src/parser/smt2/smt2.cpp +++ b/src/parser/smt2/smt2.cpp @@ -837,14 +837,9 @@ Command* Smt2::setLogic(std::string name, bool fromCommand) addTheory(THEORY_SEP); } - if (sygus()) - { - return new SetBenchmarkLogicCommand(d_logic.getLogicString()); - } - else - { - return new SetBenchmarkLogicCommand(name); - } + Command* cmd = new SetBenchmarkLogicCommand(sygus() ? d_logic.getLogicString() : name); + cmd->setMuted(!fromCommand); + return cmd; } /* Smt2::setLogic() */ bool Smt2::sygus() const diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 7951a9c41..96de4bafc 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -561,6 +561,7 @@ set(regress_0_tests regress0/parser/constraint.smt2 regress0/parser/declarefun-emptyset-uf.smt2 regress0/parser/force_logic_set_logic.smt2 + regress0/parser/force_logic_success.smt2 regress0/parser/shadow_fun_symbol_all.smt2 regress0/parser/shadow_fun_symbol_nirat.smt2 regress0/parser/strings20.smt2 diff --git a/test/regress/regress0/parser/force_logic_success.smt2 b/test/regress/regress0/parser/force_logic_success.smt2 new file mode 100644 index 000000000..027d7ccc0 --- /dev/null +++ b/test/regress/regress0/parser/force_logic_success.smt2 @@ -0,0 +1,5 @@ +; COMMAND-LINE: --force-logic QF_BV --print-success +; EXPECT: success +; EXPECT: sat +(assert true) +(check-sat)