diff --git a/gnu/local.mk b/gnu/local.mk index 4c6e8af16c..ce7ecc36cf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -768,6 +768,7 @@ dist_patch_DATA = \ %D%/packages/patches/libxt-guix-search-paths.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ + %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 04a2b39af9..52a78467a8 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -268,6 +268,8 @@ (define-public llvm-3.5 (method url-fetch) (uri (string-append "http://llvm.org/releases/" version "/llvm-" version ".src.tar.xz")) + (patches + (search-patches "llvm-3.5-fix-clang-build-with-gcc5.patch")) (sha256 (base32 "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4")))))) diff --git a/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch b/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch new file mode 100644 index 0000000000..faa8252c43 --- /dev/null +++ b/gnu/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch @@ -0,0 +1,35 @@ +This patch was downloaded from https://sft.its.cern.ch/jira/browse/ROOT-7047. +It fixes the build of clang 3.5 with GCC 5. File paths have been adjusted. + +From 00f3ed6eee41da871799ad0fd19153c7682d61fe Mon Sep 17 00:00:00 2001 +From: Alexander Klimov +Date: Mon, 26 Jan 2015 18:45:23 +0200 +Subject: [PATCH] [ADT/IntrusiveRefCntPtr] Give friend access to + IntrusiveRefCntPtr so the relevant move constructor can + access 'Obj'. + +From LLVM upstream: +Author: Argyrios Kyrtzidis +Date: Tue Sep 23 06:06:43 2014 +0000 +git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218295 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + interpreter/llvm/src/include/llvm/ADT/IntrusiveRefCntPtr.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h +index f9df378..c859c98 100644 +--- a/include/llvm/ADT/IntrusiveRefCntPtr.h ++++ b/include/llvm/ADT/IntrusiveRefCntPtr.h +@@ -197,6 +197,9 @@ public: + private: + void retain() { if (Obj) IntrusiveRefCntPtrInfo::retain(Obj); } + void release() { if (Obj) IntrusiveRefCntPtrInfo::release(Obj); } ++ ++ template ++ friend class IntrusiveRefCntPtr; + }; + + template +-- +1.7.10.4 +