diff --git a/llvm-IntrusiveRefCntPtr.patch b/llvm-IntrusiveRefCntPtr.patch new file mode 100644 index 0000000..38b5d45 --- /dev/null +++ b/llvm-IntrusiveRefCntPtr.patch @@ -0,0 +1,12 @@ +--- llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 05:23:29 218294 ++++ llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 06:06:43 218295 +@@ -197,6 +197,9 @@ + private: + void retain() { if (Obj) IntrusiveRefCntPtrInfo::retain(Obj); } + void release() { if (Obj) IntrusiveRefCntPtrInfo::release(Obj); } ++ ++ template ++ friend class IntrusiveRefCntPtr; + }; + + template diff --git a/llvm.spec b/llvm.spec index 95e635f..30611b3 100644 --- a/llvm.spec +++ b/llvm.spec @@ -55,6 +55,8 @@ Source11: llvm-Config-llvm-config.h # patches Patch1: llvm-3.5.0-build-fix.patch Patch2: 0001-data-install-preserve-timestamps.patch +# Upstream patch for gcc 5/c++11 +Patch3: llvm-IntrusiveRefCntPtr.patch # the next two are various attempts to get clang to actually work on arm # by forcing a hard-float ABI. They don't apply anymore as of 3.5.0, @@ -320,6 +322,7 @@ mv lldb-*/ tools/lldb %patch1 -p1 %patch2 -p1 +%patch3 -p2 %if %{with clang} #patch20 -p1 #patch22 -p1