sys-devel/clang: Backport atomic detection fix
authorMichał Górny <mgorny@gentoo.org>
Thu, 3 Jan 2019 18:36:29 +0000 (19:36 +0100)
committerMichał Górny <mgorny@gentoo.org>
Thu, 3 Jan 2019 18:37:12 +0000 (19:37 +0100)
Closes: https://bugs.gentoo.org/667016
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sys-devel/clang/clang-7.0.1.ebuild
sys-devel/clang/files/7.0.1/0001-clangd-Fix-detecting-atomics-in-stand-alone-builds.patch [new file with mode: 0644]

index 628a17f3f48405b73688cb521891490f8924edc1..e48ada0998b5900d59a338e3e00afa601201d8cc 100644 (file)
@@ -71,6 +71,10 @@ CMAKE_BUILD_TYPE=RelWithDebInfo
 PATCHES=(
        # add Prefix include paths for Darwin
        "${FILESDIR}"/6.0.1/darwin_prefix-include-paths.patch
+
+       # fix detecting atomics library in clangd
+       # https://bugs.gentoo.org/667016
+       "${FILESDIR}"/7.0.1/0001-clangd-Fix-detecting-atomics-in-stand-alone-builds.patch
 )
 
 # Multilib notes:
diff --git a/sys-devel/clang/files/7.0.1/0001-clangd-Fix-detecting-atomics-in-stand-alone-builds.patch b/sys-devel/clang/files/7.0.1/0001-clangd-Fix-detecting-atomics-in-stand-alone-builds.patch
new file mode 100644 (file)
index 0000000..151c2b5
--- /dev/null
@@ -0,0 +1,38 @@
+From 74aa5bb20b3d8e1ed2b590053fdd665e9dde8462 Mon Sep 17 00:00:00 2001
+From: Michal Gorny <mgorny@gentoo.org>
+Date: Thu, 3 Jan 2019 16:43:27 +0000
+Subject: [PATCH] [clangd] Fix detecting atomics in stand-alone builds
+
+Include CheckAtomic CMake module from LLVM in order to detect support
+for atomics when building stand-alone.  Otherwise,
+the HAVE_CXX_ATOMICS64_WITHOUT_LIB variable is undefined and clangd
+wrongly attempts to link -latomic on systems not using the library.
+
+Original bug report: https://bugs.gentoo.org/667016
+
+Differential Revision: https://reviews.llvm.org/D56061
+
+git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@350329 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ clangd/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/clangd/CMakeLists.txt b/clangd/CMakeLists.txt
+index 39467bd5..251ee7fc 100644
+--- a/tools/extra/clangd/CMakeLists.txt
++++ b/tools/extra/clangd/CMakeLists.txt
+@@ -2,6 +2,11 @@ set(LLVM_LINK_COMPONENTS
+   Support
+   )
++if(CLANG_BUILT_STANDALONE)
++  # needed to get HAVE_CXX_ATOMICS64_WITHOUT_LIB defined
++  include(CheckAtomic)
++endif()
++
+ set(CLANGD_ATOMIC_LIB "")
+ if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
+   list(APPEND CLANGD_ATOMIC_LIB "atomic")
+-- 
+2.20.1
+