|
|
3946039 |
From 6a61834d1c41971f80669a0484f1a0d2d8a1c286 Mon Sep 17 00:00:00 2001
|
|
|
3946039 |
From: Eli Friedman <eli.friedman@gmail.com>
|
|
|
3946039 |
Date: Sun, 8 May 2011 01:59:22 +0000
|
|
|
3946039 |
Subject: [PATCH] PR9869: Add explicit destructor declarations to Operator
|
|
|
3946039 |
subclasses, to allow compiling Operator.h with gcc 4.6 in
|
|
|
3946039 |
C++0x mode.
|
|
|
3946039 |
|
|
|
3946039 |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131062 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
|
3946039 |
---
|
|
|
3946039 |
include/llvm/Operator.h | 34 ++++++++++++++++++++++++++--------
|
|
|
3946039 |
1 files changed, 26 insertions(+), 8 deletions(-)
|
|
|
3946039 |
|
|
|
3946039 |
diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h
|
|
|
3946039 |
index ff2a0ad..e9aa499 100644
|
|
|
3946039 |
--- a/include/llvm/Operator.h
|
|
|
3946039 |
+++ b/include/llvm/Operator.h
|
|
|
3946039 |
@@ -186,28 +186,46 @@ public:
|
|
|
3946039 |
};
|
|
|
3946039 |
|
|
|
3946039 |
class AddOperator
|
|
|
3946039 |
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {};
|
|
|
3946039 |
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
|
|
|
3946039 |
+ ~AddOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class SubOperator
|
|
|
3946039 |
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {};
|
|
|
3946039 |
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
|
|
|
3946039 |
+ ~SubOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class MulOperator
|
|
|
3946039 |
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {};
|
|
|
3946039 |
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
|
|
|
3946039 |
+ ~MulOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class ShlOperator
|
|
|
3946039 |
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {};
|
|
|
3946039 |
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
|
|
|
3946039 |
+ ~ShlOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
|
|
|
3946039 |
|
|
|
3946039 |
class SDivOperator
|
|
|
3946039 |
- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {};
|
|
|
3946039 |
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
|
|
|
3946039 |
+ ~SDivOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class UDivOperator
|
|
|
3946039 |
- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {};
|
|
|
3946039 |
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
|
|
|
3946039 |
+ ~UDivOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class AShrOperator
|
|
|
3946039 |
- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {};
|
|
|
3946039 |
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
|
|
|
3946039 |
+ ~AShrOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
class LShrOperator
|
|
|
3946039 |
- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {};
|
|
|
3946039 |
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
|
|
|
3946039 |
+ ~LShrOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+};
|
|
|
3946039 |
|
|
|
3946039 |
|
|
|
3946039 |
|
|
|
3946039 |
class GEPOperator
|
|
|
3946039 |
: public ConcreteOperator<Operator, Instruction::GetElementPtr> {
|
|
|
3946039 |
+ ~GEPOperator(); // DO NOT IMPLEMENT
|
|
|
3946039 |
+
|
|
|
3946039 |
enum {
|
|
|
3946039 |
IsInBounds = (1 << 0)
|
|
|
3946039 |
};
|
|
|
3946039 |
--
|
|
|
3946039 |
1.7.6.4
|
|
|
3946039 |
|