forked from OSchip/llvm-project
Reapply fix in r217988 (reverted in r217989) and remove the alternative fix committed in r217987.
This type isn't owned polymorphically (as demonstrated by making the dtor protected and everything still compiling) so just address the warning by protecting the base dtor and making the derived class final. llvm-svn: 217990
This commit is contained in:
parent
d8978ec085
commit
dba94ec3c7
|
@ -36,14 +36,13 @@ private:
|
|||
const TargetLibraryInfo *TLI;
|
||||
bool UnsafeFPShrink;
|
||||
|
||||
protected:
|
||||
~LibCallSimplifier() {}
|
||||
|
||||
public:
|
||||
LibCallSimplifier(const DataLayout *TD, const TargetLibraryInfo *TLI,
|
||||
bool UnsafeFPShrink);
|
||||
|
||||
/// ~LibCallSimplifier - Adding the virtual destructor back in to satisfy
|
||||
/// -Wnon-virtual-dtor. This class is used polymorphically by InstCombine.
|
||||
virtual ~LibCallSimplifier() {}
|
||||
|
||||
/// optimizeCall - Take the given call instruction and return a more
|
||||
/// optimal value to replace the instruction with or 0 if a more
|
||||
/// optimal form can't be found. Note that the returned value may
|
||||
|
|
|
@ -2908,7 +2908,7 @@ bool InstCombiner::DoOneIteration(Function &F, unsigned Iteration) {
|
|||
}
|
||||
|
||||
namespace {
|
||||
class InstCombinerLibCallSimplifier : public LibCallSimplifier {
|
||||
class InstCombinerLibCallSimplifier final : public LibCallSimplifier {
|
||||
InstCombiner *IC;
|
||||
public:
|
||||
InstCombinerLibCallSimplifier(const DataLayout *DL,
|
||||
|
|
Loading…
Reference in New Issue