summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2019-10-08 23:24:42 -0700
committerGitHub <noreply@github.com>2019-10-08 23:24:42 -0700
commit24f129a63b395a13ba10a05ff128e8e27ba75ed5 (patch)
tree143ed7f10733c5db326ae17ec51b680ce7a8f4fa
parent1d4c28c9211db363b716b33954644d200b91dfd8 (diff)
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.
-rw-r--r--src/parser/smt2/smt2.cpp11
-rw-r--r--test/regress/CMakeLists.txt1
-rw-r--r--test/regress/regress0/parser/force_logic_success.smt25
3 files changed, 9 insertions, 8 deletions
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)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback