Fixes #1715. We do not support the `--solve-int-as-bv=X` preprocessing
pass with logics other than pure QF_NIA/QF_LIA/QF_IDL. This commit adds
a corresponding check and throws an option exception if an incompatible
logic has been set.
if(options::forceLogicString.wasSetByUser()) {
d_logic = LogicInfo(options::forceLogicString());
}else if (options::solveIntAsBV() > 0) {
+ if (!(d_logic <= LogicInfo("QF_NIA")))
+ {
+ throw OptionException(
+ "--solve-int-as-bv=X only supported for pure integer logics (QF_NIA, "
+ "QF_LIA, QF_IDL)");
+ }
d_logic = LogicInfo("QF_BV");
}else if (d_logic.getLogicString() == "QF_NRA" && options::solveRealAsInt()) {
d_logic = LogicInfo("QF_NIA");