diff options
Diffstat (limited to 'sys-devel/clang/files/9999/0003-driver-Support-checking-for-rlimits-via-cmake-when-b.patch')
-rw-r--r-- | sys-devel/clang/files/9999/0003-driver-Support-checking-for-rlimits-via-cmake-when-b.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/sys-devel/clang/files/9999/0003-driver-Support-checking-for-rlimits-via-cmake-when-b.patch b/sys-devel/clang/files/9999/0003-driver-Support-checking-for-rlimits-via-cmake-when-b.patch new file mode 100644 index 000000000000..16d63ec7f61c --- /dev/null +++ b/sys-devel/clang/files/9999/0003-driver-Support-checking-for-rlimits-via-cmake-when-b.patch @@ -0,0 +1,84 @@ +From 27b65490c9764d18fa02274bbb4f75dd5a688506 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sun, 21 Aug 2016 23:30:17 +0200 +Subject: [PATCH 3/7] driver: Support checking for rlimits via cmake (when + bootstrapping) + +Add a cmake check for sys/resource.h and replace the __has_include() +check with its result, in order to make it possible to use rlimits when +building with compilers not supporting __has_include() -- i.e. when +bootstrapping. + +Patch: https://reviews.llvm.org/D23744 +--- + CMakeLists.txt | 3 +++ + include/clang/Config/config.h.cmake | 3 +++ + tools/driver/cc1_main.cpp | 8 +++----- + 3 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6dde85..aee0d0a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,6 +177,9 @@ if (LIBXML2_FOUND) + set(CLANG_HAVE_LIBXML 1) + endif() + ++include(CheckIncludeFile) ++check_include_file(sys/resource.h CLANG_HAVE_RLIMITS) ++ + set(CLANG_RESOURCE_DIR "" CACHE STRING + "Relative directory from the Clang binary to its resource files.") + +diff --git a/include/clang/Config/config.h.cmake b/include/clang/Config/config.h.cmake +index 9200ed9..9bf9ea5 100644 +--- a/include/clang/Config/config.h.cmake ++++ b/include/clang/Config/config.h.cmake +@@ -35,6 +35,9 @@ + /* Define if we have libxml2 */ + #cmakedefine CLANG_HAVE_LIBXML ${CLANG_HAVE_LIBXML} + ++/* Define if we have sys/resource.h (rlimits) */ ++#cmakedefine CLANG_HAVE_RLIMITS ${CLANG_HAVE_RLIMITS} ++ + /* The LLVM product name and version */ + #define BACKEND_PACKAGE_STRING "${BACKEND_PACKAGE_STRING}" + +diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp +index b8cea41..45d44a0 100644 +--- a/tools/driver/cc1_main.cpp ++++ b/tools/driver/cc1_main.cpp +@@ -15,6 +15,7 @@ + + #include "llvm/Option/Arg.h" + #include "clang/CodeGen/ObjectFilePCHContainerOperations.h" ++#include "clang/Config/config.h" + #include "clang/Driver/DriverDiagnostic.h" + #include "clang/Driver/Options.h" + #include "clang/Frontend/CompilerInstance.h" +@@ -37,12 +38,9 @@ + #include "llvm/Support/raw_ostream.h" + #include <cstdio> + +-#ifdef __has_include +-#if __has_include(<sys/resource.h>) +-#define HAVE_RLIMITS ++#ifdef CLANG_HAVE_RLIMITS + #include <sys/resource.h> + #endif +-#endif + + using namespace clang; + using namespace llvm::opt; +@@ -73,7 +71,7 @@ void initializePollyPasses(llvm::PassRegistry &Registry); + } + #endif + +-#ifdef HAVE_RLIMITS ++#ifdef CLANG_HAVE_RLIMITS + // The amount of stack we think is "sufficient". If less than this much is + // available, we may be unable to reach our template instantiation depth + // limit and other similar limits. +-- +2.9.3 + |