It is not enough to simply make the destructor virtual since there is a g++ 4.7
issue (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613) that throws the
error "looser throw specifier for ... overridding ~SCEVPredicate() noexcept".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254592
91177308-0d34-0410-b5e6-
96231b3b80d8
protected:
SCEVPredicateKind Kind;
- ~SCEVPredicate() = default;
+ virtual ~SCEVPredicate();
SCEVPredicate(const SCEVPredicate&) = default;
SCEVPredicate &operator=(const SCEVPredicate&) = default;
SCEVPredicateKind Kind)
: FastID(ID), Kind(Kind) {}
+SCEVPredicate::~SCEVPredicate() {}
+
SCEVEqualPredicate::SCEVEqualPredicate(const FoldingSetNodeIDRef ID,
const SCEVUnknown *LHS,
const SCEVConstant *RHS)