================ @@ -1059,9 +1066,16 @@ void Environment::assume(const Formula &F) { DACtx->addFlowConditionConstraint(FlowConditionToken, F); } +#if 0 bool Environment::proves(const Formula &F) const { return DACtx->flowConditionImplies(FlowConditionToken, F); } +#else +bool Environment::proves(const Formula &F) const { + auto V = simple_bool_model::getLiteralValue(F, *this); + return V.has_value() && *V; +} +#endif bool Environment::allows(const Formula &F) const { return DACtx->flowConditionAllows(FlowConditionToken, F); ---------------- ymand wrote:
Yes, but not to `proves`: it should be `value_or(true)` -- that is, if we lack any definite setting, we "allow" it to be anything. https://github.com/llvm/llvm-project/pull/82950 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits