From 99abc17832b36007c66369321c0c2f5a2a7713f1 Mon Sep 17 00:00:00 2001 From: Kaelyn Uhrain Date: Wed, 24 Oct 2012 19:17:42 +0000 Subject: [PATCH] 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 --- include/llvm/Operator.h | 1 + 1 file changed, 1 insertion(+) 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. -- 2.34.1