From aa2637343c0de871a32de54f9c805ee969b3c9b0 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Sun, 8 May 2011 01:59:22 +0000 Subject: [PATCH] PR9869: Add explicit destructor declarations to Operator subclasses, to allow compiling Operator.h with gcc 4.6 in C++0x mode. llvm-svn: 131062 --- llvm/include/llvm/Operator.h | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/llvm/include/llvm/Operator.h b/llvm/include/llvm/Operator.h index ff2a0ad5e4e9..e9aa4997f285 100644 --- a/llvm/include/llvm/Operator.h +++ b/llvm/include/llvm/Operator.h @@ -186,28 +186,46 @@ public: }; class AddOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~AddOperator(); // DO NOT IMPLEMENT +}; class SubOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~SubOperator(); // DO NOT IMPLEMENT +}; class MulOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~MulOperator(); // DO NOT IMPLEMENT +}; class ShlOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~ShlOperator(); // DO NOT IMPLEMENT +}; class SDivOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~SDivOperator(); // DO NOT IMPLEMENT +}; class UDivOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~UDivOperator(); // DO NOT IMPLEMENT +}; class AShrOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~AShrOperator(); // DO NOT IMPLEMENT +}; class LShrOperator - : public ConcreteOperator {}; + : public ConcreteOperator { + ~LShrOperator(); // DO NOT IMPLEMENT +}; class GEPOperator : public ConcreteOperator { + ~GEPOperator(); // DO NOT IMPLEMENT + enum { IsInBounds = (1 << 0) };