diff options
author | Andy Gibbs <andyg1001@hotmail.co.uk> | 2015-12-03 08:20:20 +0000 |
---|---|---|
committer | Andy Gibbs <andyg1001@hotmail.co.uk> | 2015-12-03 08:20:20 +0000 |
commit | 81b1a27e537fe0dd9071c49dc53b427829c4064d (patch) | |
tree | d37558259e543e481e9211a0118457b89d7d4328 | |
parent | 9606d19a65254ae2a399895f7db84d788b63f926 (diff) | |
download | bcm5719-llvm-81b1a27e537fe0dd9071c49dc53b427829c4064d.tar.gz bcm5719-llvm-81b1a27e537fe0dd9071c49dc53b427829c4064d.zip |
Fix class SCEVPredicate has virtual functions and accessible non-virtual destructor.
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".
llvm-svn: 254592
-rw-r--r-- | llvm/include/llvm/Analysis/ScalarEvolution.h | 2 | ||||
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolution.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolution.h b/llvm/include/llvm/Analysis/ScalarEvolution.h index da8c68aa683..f674cc7ee56 100644 --- a/llvm/include/llvm/Analysis/ScalarEvolution.h +++ b/llvm/include/llvm/Analysis/ScalarEvolution.h @@ -183,7 +183,7 @@ namespace llvm { protected: SCEVPredicateKind Kind; - ~SCEVPredicate() = default; + virtual ~SCEVPredicate(); SCEVPredicate(const SCEVPredicate&) = default; SCEVPredicate &operator=(const SCEVPredicate&) = default; diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index d04028b15e2..9a0570d47f0 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -9643,6 +9643,8 @@ SCEVPredicate::SCEVPredicate(const FoldingSetNodeIDRef ID, SCEVPredicateKind Kind) : FastID(ID), Kind(Kind) {} +SCEVPredicate::~SCEVPredicate() {} + SCEVEqualPredicate::SCEVEqualPredicate(const FoldingSetNodeIDRef ID, const SCEVUnknown *LHS, const SCEVConstant *RHS) |