[llvm-commits] [llvm] r166611 - /llvm/trunk/include/llvm/Operator.h

Kaelyn Uhrain rikka at google.com
Wed Oct 24 12:17:42 PDT 2012


Author: rikka
Date: Wed Oct 24 14:17:42 2012
New Revision: 166611

URL: http://llvm.org/viewvc/llvm-project?rev=166611&view=rev
Log:
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

Modified:
    llvm/trunk/include/llvm/Operator.h

Modified: llvm/trunk/include/llvm/Operator.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Operator.h?rev=166611&r1=166610&r2=166611&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Operator.h (original)
+++ llvm/trunk/include/llvm/Operator.h Wed Oct 24 14:17:42 2012
@@ -37,6 +37,7 @@
   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.





More information about the llvm-commits mailing list