summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-03-30 10:46:45 -0500
committerGitHub <noreply@github.com>2020-03-30 10:46:45 -0500
commit49d7b510a992a7a84594a11a4aeefcbd3fc8d257 (patch)
tree2c89f6cc19789a3d5b326e7d1b712bf677e67ec9
parent0060de329173c0b75c02778d003371f59cc11eff (diff)
Fix arguments to print callback (#4171)
The method applyParseOp may modify the argument vector. In the case of the sygus V1 parser, this argument vector was then being used to set up a print callback, leading to incorrect printing and failures. Work towards having a working V1 -> V2 conversion for the release. FYI @abdoo8080
-rw-r--r--src/parser/smt2/smt2.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp
index 04e8be64b..7ba882f24 100644
--- a/src/parser/smt2/smt2.cpp
+++ b/src/parser/smt2/smt2.cpp
@@ -1267,7 +1267,8 @@ void Smt2::mkSygusDatatype(api::DatatypeDecl& dt,
api::Term lbvl = makeSygusBoundVarList(dt, i, ltypes, largs);
// make the let_body
- api::Term body = applyParseOp(ops[i], largs);
+ std::vector<api::Term> largsApply = largs;
+ api::Term body = applyParseOp(ops[i], largsApply);
// replace by lambda
ParseOp pLam;
pLam.d_expr = d_solver->mkTerm(api::LAMBDA, lbvl, body);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback