Contents of /trunk/llvm/patches/llvm-2.9-PR9869-operator-destructor.patch
Parent Directory | Revision Log
Revision 1553 -
(show 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 | 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 |