Magellan Linux

Annotation of /trunk/llvm/patches/llvm-2.9-PR9869-operator-destructor.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1553 - (hide annotations) (download)
Tue Nov 8 10:00:12 2011 UTC (12 years, 6 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