75 lines
2.6 KiB
Diff
75 lines
2.6 KiB
Diff
|
From 6a61834d1c41971f80669a0484f1a0d2d8a1c286 Mon Sep 17 00:00:00 2001
|
||
|
From: Eli Friedman <eli.friedman@gmail.com>
|
||
|
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.
|
||
|
|
||
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131062 91177308-0d34-0410-b5e6-96231b3b80d8
|
||
|
---
|
||
|
include/llvm/Operator.h | 34 ++++++++++++++++++++++++++--------
|
||
|
1 files changed, 26 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h
|
||
|
index ff2a0ad..e9aa499 100644
|
||
|
--- a/include/llvm/Operator.h
|
||
|
+++ b/include/llvm/Operator.h
|
||
|
@@ -186,28 +186,46 @@ public:
|
||
|
};
|
||
|
|
||
|
class AddOperator
|
||
|
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {};
|
||
|
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
|
||
|
+ ~AddOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class SubOperator
|
||
|
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {};
|
||
|
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
|
||
|
+ ~SubOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class MulOperator
|
||
|
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {};
|
||
|
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
|
||
|
+ ~MulOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class ShlOperator
|
||
|
- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {};
|
||
|
+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
|
||
|
+ ~ShlOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
|
||
|
|
||
|
class SDivOperator
|
||
|
- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {};
|
||
|
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
|
||
|
+ ~SDivOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class UDivOperator
|
||
|
- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {};
|
||
|
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
|
||
|
+ ~UDivOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class AShrOperator
|
||
|
- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {};
|
||
|
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
|
||
|
+ ~AShrOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
class LShrOperator
|
||
|
- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {};
|
||
|
+ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
|
||
|
+ ~LShrOperator(); // DO NOT IMPLEMENT
|
||
|
+};
|
||
|
|
||
|
|
||
|
|
||
|
class GEPOperator
|
||
|
: public ConcreteOperator<Operator, Instruction::GetElementPtr> {
|
||
|
+ ~GEPOperator(); // DO NOT IMPLEMENT
|
||
|
+
|
||
|
enum {
|
||
|
IsInBounds = (1 << 0)
|
||
|
};
|
||
|
--
|
||
|
1.7.6.4
|
||
|
|