Annotation of /trunk/llvm/patches/llvm-2.9-PR9869-operator-destructor.patch
Parent Directory | Revision Log
Revision 1553 -
(hide annotations)
(download)
Tue Nov 8 10:00:12 2011 UTC (12 years, 10 months ago) by niro
File size: 2627 byte(s)
Tue Nov 8 10:00:12 2011 UTC (12 years, 10 months ago) by niro
File size: 2627 byte(s)
added llvm fixes
1 | niro | 1553 | From 6a61834d1c41971f80669a0484f1a0d2d8a1c286 Mon Sep 17 00:00:00 2001 |
2 | From: Eli Friedman <eli.friedman@gmail.com> | ||
3 | Date: Sun, 8 May 2011 01:59:22 +0000 | ||
4 | Subject: [PATCH] PR9869: Add explicit destructor declarations to Operator | ||
5 | subclasses, to allow compiling Operator.h with gcc 4.6 in | ||
6 | C++0x mode. | ||
7 | |||
8 | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131062 91177308-0d34-0410-b5e6-96231b3b80d8 | ||
9 | --- | ||
10 | include/llvm/Operator.h | 34 ++++++++++++++++++++++++++-------- | ||
11 | 1 files changed, 26 insertions(+), 8 deletions(-) | ||
12 | |||
13 | diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h | ||
14 | index ff2a0ad..e9aa499 100644 | ||
15 | --- a/include/llvm/Operator.h | ||
16 | +++ b/include/llvm/Operator.h | ||
17 | @@ -186,28 +186,46 @@ public: | ||
18 | }; | ||
19 | |||
20 | class AddOperator | ||
21 | - : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {}; | ||
22 | + : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> { | ||
23 | + ~AddOperator(); // DO NOT IMPLEMENT | ||
24 | +}; | ||
25 | class SubOperator | ||
26 | - : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {}; | ||
27 | + : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> { | ||
28 | + ~SubOperator(); // DO NOT IMPLEMENT | ||
29 | +}; | ||
30 | class MulOperator | ||
31 | - : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {}; | ||
32 | + : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> { | ||
33 | + ~MulOperator(); // DO NOT IMPLEMENT | ||
34 | +}; | ||
35 | class ShlOperator | ||
36 | - : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {}; | ||
37 | + : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> { | ||
38 | + ~ShlOperator(); // DO NOT IMPLEMENT | ||
39 | +}; | ||
40 | |||
41 | |||
42 | class SDivOperator | ||
43 | - : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {}; | ||
44 | + : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> { | ||
45 | + ~SDivOperator(); // DO NOT IMPLEMENT | ||
46 | +}; | ||
47 | class UDivOperator | ||
48 | - : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {}; | ||
49 | + : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> { | ||
50 | + ~UDivOperator(); // DO NOT IMPLEMENT | ||
51 | +}; | ||
52 | class AShrOperator | ||
53 | - : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {}; | ||
54 | + : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> { | ||
55 | + ~AShrOperator(); // DO NOT IMPLEMENT | ||
56 | +}; | ||
57 | class LShrOperator | ||
58 | - : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {}; | ||
59 | + : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> { | ||
60 | + ~LShrOperator(); // DO NOT IMPLEMENT | ||
61 | +}; | ||
62 | |||
63 | |||
64 | |||
65 | class GEPOperator | ||
66 | : public ConcreteOperator<Operator, Instruction::GetElementPtr> { | ||
67 | + ~GEPOperator(); // DO NOT IMPLEMENT | ||
68 | + | ||
69 | enum { | ||
70 | IsInBounds = (1 << 0) | ||
71 | }; | ||
72 | -- | ||
73 | 1.7.6.4 | ||
74 |