summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-05-19 17:50:43 -0500
committerGitHub <noreply@github.com>2021-05-19 22:50:43 +0000
commitcc0fa2849b96d228bb5ab43d0497a7b077a00099 (patch)
tree8ed71b6004eb99e659dc431042d91941fe1f5da5
parent7d1672babd2a4857c7726bd86d26584f69043db9 (diff)
Pass empty vector when constructing re empty, fixes rewrite (#6576)
Fixes #6567.
-rw-r--r--src/theory/strings/sequences_rewriter.cpp3
-rw-r--r--test/regress/CMakeLists.txt1
-rw-r--r--test/regress/regress1/strings/issue6567-empty-re-range.smt24
3 files changed, 7 insertions, 1 deletions
diff --git a/src/theory/strings/sequences_rewriter.cpp b/src/theory/strings/sequences_rewriter.cpp
index e827e87d3..bc77a9bc5 100644
--- a/src/theory/strings/sequences_rewriter.cpp
+++ b/src/theory/strings/sequences_rewriter.cpp
@@ -1151,7 +1151,8 @@ Node SequencesRewriter::rewriteRangeRegExp(TNode node)
if (ch[0] > ch[1])
{
// re.range( "B", "A" ) ---> re.none
- Node retNode = nm->mkNode(REGEXP_EMPTY, {});
+ std::vector<Node> emptyVec;
+ Node retNode = nm->mkNode(REGEXP_EMPTY, emptyVec);
return returnRewrite(node, retNode, Rewrite::RE_RANGE_EMPTY);
}
return node;
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 1478ae072..fe034c519 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -2086,6 +2086,7 @@ set(regress_1_tests
regress1/strings/issue6270.smt2
regress1/strings/issue6271-rnf.smt2
regress1/strings/issue6271-2-rnf.smt2
+ regress1/strings/issue6567-empty-re-range.smt2
regress1/strings/kaluza-fl.smt2
regress1/strings/loop002.smt2
regress1/strings/loop003.smt2
diff --git a/test/regress/regress1/strings/issue6567-empty-re-range.smt2 b/test/regress/regress1/strings/issue6567-empty-re-range.smt2
new file mode 100644
index 000000000..abf2fd294
--- /dev/null
+++ b/test/regress/regress1/strings/issue6567-empty-re-range.smt2
@@ -0,0 +1,4 @@
+(set-logic ALL)
+(set-info :status sat)
+(assert (str.in_re "" (re.* (re.range "b" "a"))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback