CVC4_CXX_OPTION([-Wno-uninitialized], [WNO_UNINITIALIZED])
CVC4_CXX_OPTION([-Wno-unused-variable], [WNO_UNUSED_VARIABLE])
CVC4_CXX_OPTION([-Wsuggest-override], [W_SUGGEST_OVERRIDE])
+CVC4_CXX_OPTION([-Wnon-virtual-dtor], [W_NON_VIRTUAL_DTOR])
CVC4_CXX_OPTION([-fno-strict-aliasing], [FNO_STRICT_ALIASING])
AC_SUBST([WERROR])
AC_SUBST([WNO_CONVERSION_NULL])
AC_SUBST([WNO_UNINITIALIZED])
AC_SUBST([WNO_UNUSED_VARIABLE])
AC_SUBST([W_SUGGEST_OVERRIDE])
+AC_SUBST([W_NON_VIRTUAL_DTOR])
AC_SUBST([FNO_STRICT_ALIASING])
CVC4CXXFLAGS="${CVC4CXXFLAGS:+$CVC4CXXFLAGS }${W_SUGGEST_OVERRIDE}"
+CVC4CXXFLAGS="${CVC4CXXFLAGS:+$CVC4CXXFLAGS }${W_NON_VIRTUAL_DTOR}"
# On Mac, we have to fix the visibility of standard library symbols.
# Otherwise, exported template instantiations---even though explicitly
}
if (signature.getNumChildren() == 0) {
- Assert(signature.getKind() != kind::metakind::VARIABLE);
+ Assert(signature.getMetaKind() != kind::metakind::VARIABLE);
seen[signature] = signature;
return signature;
}
namespace quantifiers {
DynamicRewriter::DynamicRewriter(const std::string& name, QuantifiersEngine* qe)
- : d_qe(qe),
- d_equalityEngine(qe->getUserContext(), "DynamicRewriter::" + name, true),
+ : d_equalityEngine(qe->getUserContext(), "DynamicRewriter::" + name, true),
d_rewrites(qe->getUserContext())
{
d_equalityEngine.addFunctionKind(kind::APPLY_UF);
bool areEqual(Node a, Node b);
private:
- /** pointer to the quantifiers engine */
- QuantifiersEngine* d_qe;
/** index over argument types to function skolems
*
* The purpose of this trie is to associate a class of interpreted operator
{
public:
Cegis(QuantifiersEngine* qe, CegConjecture* p);
- ~Cegis() {}
+ ~Cegis() override {}
/** initialize */
virtual bool initialize(Node n,
const std::vector<Node>& candidates,
{
public:
CegisUnif(QuantifiersEngine* qe, CegConjecture* p);
- ~CegisUnif();
+ ~CegisUnif() override;
/** Retrieves enumerators for constructing solutions
*
* Non-unification candidates have themselves as enumerators, while for
{
public:
SygusModule(QuantifiersEngine* qe, CegConjecture* p);
- ~SygusModule() {}
+ virtual ~SygusModule() {}
/** initialize
*
* n is the "base instantiation" of the deep-embedding version of the
class UnifContext
{
public:
+ virtual ~UnifContext() {}
+
/** Get the current role
*
* In a particular context when constructing solutions in synthesis by
class NotifyMatch
{
public:
+ virtual ~NotifyMatch() {}
+
/**
* A notification that s is equal to n * { vars -> subs }. This function
* should return false if we do not wish to be notified of further matches.