From: Kaelyn Uhrain Date: Wed, 24 Oct 2012 19:17:42 +0000 (+0000) Subject: Make ~Operator() protected so subclasses can inherit it and not have X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=99abc17832b36007c66369321c0c2f5a2a7713f1;p=oota-llvm.git Make ~Operator() protected so subclasses can inherit it and not have a bunch of errors for all the Operator subclasses such as: include/llvm/Operator.h:76:7: error: deleted function 'virtual llvm::OverflowingBinaryOperator::~OverflowingBinaryOperator()' include/llvm/Operator.h:43:3: error: overriding non-deleted function 'virtual llvm::Operator::~Operator()' include/llvm/Operator.h:76:7: error: 'virtual llvm::OverflowingBinaryOperator::~OverflowingBinaryOperator()' is implicitly deleted because the default definition would be ill-formed: include/llvm/Operator.h:43:3: error: 'virtual llvm::Operator::~Operator()' is private include/llvm/Operator.h:76:7: error: within this context git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166611 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h index 41e6db0b961..b326c113520 100644 --- a/include/llvm/Operator.h +++ b/include/llvm/Operator.h @@ -37,6 +37,7 @@ private: void *operator new(size_t s) LLVM_DELETED_FUNCTION; Operator() LLVM_DELETED_FUNCTION; +protected: // NOTE: Cannot use LLVM_DELETED_FUNCTION because it's not legal to delete // an overridden method that's not deleted in the base class. Cannot leave // this unimplemented because that leads to an ODR-violation.