Skip to content

Commit 4273e35

Browse files
committed
Minor fixes for CVC4 1.8
1 parent 6dfb351 commit 4273e35

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/main/scala/inox/solvers/smtlib/CVC4Solver.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ trait CVC4Solver extends SMTLIBSolver with CVC4Target {
2424
"--produce-models",
2525
"--incremental",
2626
// "--dt-rewrite-error-sel", // Removing since it causes CVC4 to segfault on some inputs
27-
"--rewrite-divk",
2827
"--print-success",
2928
"--lang", "smt2.5"
3029
) ++ options.findOptionOrDefault(optCVC4Options)

src/main/scala/inox/solvers/smtlib/SMTLIBParser.scala

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,20 @@ trait SMTLIBParser {
8181
case _ => IntegerLiteral(n)
8282
}
8383

84-
case FixedSizeBitVectors.BitVectorLit(bs) => otpe match {
85-
case Some(BVType(signed, _)) =>
86-
BVLiteral(signed, BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i + 1 }, bs.size)
87-
case _ =>
88-
BVLiteral(true, BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i + 1 }, bs.size)
89-
}
84+
case FixedSizeBitVectors.BitVectorLit(bs) =>
85+
otpe match {
86+
case Some(BVType(signed, _)) =>
87+
BVLiteral(signed, BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i + 1 }, bs.size)
88+
case Some(CharType()) =>
89+
val bv = BVLiteral(true, BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i + 1 }, 16)
90+
CharLiteral(bv.toBigInt.toInt.toChar)
91+
case _ =>
92+
BVLiteral(true, BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i + 1 }, bs.size)
93+
}
9094

9195
case FixedSizeBitVectors.BitVectorConstant(n, size) => otpe match {
9296
case Some(BVType(signed, _)) => BVLiteral(signed, n, size.intValue)
97+
case Some(CharType()) => CharLiteral(n.toChar)
9398
case _ => BVLiteral(true, n, size.intValue)
9499
}
95100

0 commit comments

Comments
 (0)