summaryrefslogtreecommitdiff
path: root/test/regress/regress0
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-03-19 07:18:58 -0700
committerGitHub <noreply@github.com>2020-03-19 09:18:58 -0500
commit089a60266f2658e471d204fdd737e3e0d37e105c (patch)
treedd07799cf5a1a06f184ce402fab016bf54c656e0 /test/regress/regress0
parent94844fbf4fbe4fa08d8fa4cbe093ba532f5bd613 (diff)
Only apply testConstStringInRegExp to const regexp (#4120)
Fixes #4070. `TheoryStringsRewriter::rewriteConcatRegExp()` rewrites `(a)* ++ (_)*` to `(_)*`. To do so, it checks whether the elements preceding `(_)*` match the empty string using `TheoryStringsRewriter::testConstStringInRegExp()`. However, this method only expects to be called on constant regular expressions (i.e. regular expressions without string variables). This commit adds a corresponding check before calling `TheoryStringsRewriter::testConstStringInRegExp()`.
Diffstat (limited to 'test/regress/regress0')
-rw-r--r--test/regress/regress0/strings/issue4070.smt26
1 files changed, 6 insertions, 0 deletions
diff --git a/test/regress/regress0/strings/issue4070.smt2 b/test/regress/regress0/strings/issue4070.smt2
new file mode 100644
index 000000000..2de58c4d2
--- /dev/null
+++ b/test/regress/regress0/strings/issue4070.smt2
@@ -0,0 +1,6 @@
+; EXPECT: sat
+(set-logic QF_S)
+(declare-fun a () String)
+(declare-fun b () String)
+(assert (str.in.re a (re.++ (str.to.re b) (re.* re.allchar))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback