Apply upstream patch for Operator.h C++0x incompatibility (# 737365)
This commit is contained in:
parent
03709243e8
commit
3946039b09
74
llvm-2.9-PR9869_operator_destructor.patch
Normal file
74
llvm-2.9-PR9869_operator_destructor.patch
Normal file
@ -0,0 +1,74 @@
|
||||
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
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
Name: llvm
|
||||
Version: 2.9
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
Group: Development/Languages
|
||||
@ -32,6 +32,9 @@ Patch0: llvm-2.6-timestamp.patch
|
||||
# clang link failure if system GCC version is unknown
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=8897
|
||||
Patch1: clang-2.9-add_gcc_vers.patch
|
||||
# Operator.h incompatibility with GCC 4.6 in C++0x mode
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=9869
|
||||
Patch2: llvm-2.9-PR9869_operator_destructor.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: chrpath
|
||||
@ -214,6 +217,7 @@ mv clang-%{version}%{?prerel} tools/clang
|
||||
|
||||
# llvm patches
|
||||
%patch0 -p1 -b .timestamp
|
||||
%patch2 -p2 -b .pr9869_operator_destructor
|
||||
|
||||
# clang patches
|
||||
pushd tools/clang
|
||||
@ -462,6 +466,9 @@ exit 0
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 30 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-4
|
||||
- Apply upstream patch for Operator.h C++0x incompatibility (# 737365)
|
||||
|
||||
* Sat Aug 6 2011 Michel Salim <salimma@fedoraproject.org> - 2.9-3
|
||||
- Disable LLVM test suite on ppc64 architecture (# 728604)
|
||||
- Disable clang test suite on ppc* architectures (-)
|
||||
|
Loading…
Reference in New Issue
Block a user