[arch-commits] Commit in llvm/trunk (PKGBUILD bug-9869-operator-h-c++0x.patch)

Evangelos Foutras foutrelis at archlinux.org
Sun May 8 02:35:17 UTC 2011


    Date: Saturday, May 7, 2011 @ 22:35:16
  Author: foutrelis
Revision: 123080

upgpkg: llvm 2.9-5
Fix upstream bug #9869: Operator.h incompatibility with GCC 4.6 in C++0x mode.

Added:
  llvm/trunk/bug-9869-operator-h-c++0x.patch
Modified:
  llvm/trunk/PKGBUILD

---------------------------------+
 PKGBUILD                        |   12 ++++++--
 bug-9869-operator-h-c++0x.patch |   57 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-05-08 02:16:14 UTC (rev 123079)
+++ PKGBUILD	2011-05-08 02:35:16 UTC (rev 123080)
@@ -12,7 +12,7 @@
 pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
 pkgver=2.9
 _gcc_ver=4.6.0
-pkgrel=4
+pkgrel=5
 arch=('i686' 'x86_64')
 url="http://llvm.org/"
 license=('custom:University of Illinois/NCSA Open Source License')
@@ -24,7 +24,8 @@
         cindexer-clang-path.patch
         clang-toolchains-gcc-versions.patch
         clang-pure64.patch
-        enable-lto.patch)
+        enable-lto.patch
+        bug-9869-operator-h-c++0x.patch)
 md5sums=('793138412d2af2c7c7f54615f8943771'
          '634de18d04b7a4ded19ec4c17d23cfca'
          '70e23a3dc2b38ecb2bb4d2c48f47295d'
@@ -32,7 +33,8 @@
          '87a7162dbe99e9ffce6c40bd09f5f4f0'
          '8da236120a9a287a977b575b8b905c93'
          '225ee6b531f8327f34f344a18cb4ec81'
-         '8f7582d7440e4a8342c3aea9ec714fb4')
+         '8f7582d7440e4a8342c3aea9ec714fb4'
+         '047cac563a557463d7ec6bd87d953f5e')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
@@ -73,6 +75,10 @@
   # Use gold instead of default linker, and always use the plugin
   patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
 
+  # Fix upstream bug #9869:
+  #   Operator.h incompatibility with GCC 4.6 in C++0x mode
+  patch -Np2 -i "$srcdir/bug-9869-operator-h-c++0x.patch"
+
   # Apply strip option to configure
   _optimized_switch="enable"
   [[ $(check_option strip) == n ]] && _optimized_switch="disable"

Added: bug-9869-operator-h-c++0x.patch
===================================================================
--- bug-9869-operator-h-c++0x.patch	                        (rev 0)
+++ bug-9869-operator-h-c++0x.patch	2011-05-08 02:35:16 UTC (rev 123080)
@@ -0,0 +1,57 @@
+--- llvm/trunk/include/llvm/Operator.h	2011/02/07 16:40:21	125006
++++ llvm/trunk/include/llvm/Operator.h	2011/05/08 01:59:22	131062
+@@ -186,28 +186,46 @@
+ };
+ 
+ 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)
+   };




More information about the arch-commits mailing list