aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2020-06-05 10:54:03 -0700
committerAlex Lorenz <arphaman@gmail.com>2020-06-05 10:55:42 -0700
commit5eedf07ab999d0a8ba43f41e0c1012d8f6e62c11 (patch)
tree0f1fa83ff35cb6daa724b629611502d786caba06
parent12e5b02687af0ddc21abfdd17afbc2176fdaa3f9 (diff)
downloadllvm-5eedf07ab999d0a8ba43f41e0c1012d8f6e62c11.zip
llvm-5eedf07ab999d0a8ba43f41e0c1012d8f6e62c11.tar.gz
llvm-5eedf07ab999d0a8ba43f41e0c1012d8f6e62c11.tar.bz2
[apple clang] disable in-process CC1 to preserve crashlog compatibility
The in-process CC1 currently doesn't interoperate with the macOS crash analytics, which we would like to keep enabled for Apple clang. This commit restores the out-of-process CC1 to the Apple clang CMake configuration for now. Differential Revision: https://reviews.llvm.org/D80849
-rw-r--r--clang/cmake/caches/Apple-stage1.cmake1
-rw-r--r--clang/cmake/caches/Apple-stage2.cmake1
-rw-r--r--clang/test/Driver/apple-clang-defaults.c7
-rw-r--r--clang/test/lit.cfg.py4
-rw-r--r--clang/test/lit.site.cfg.py.in1
5 files changed, 14 insertions, 0 deletions
diff --git a/clang/cmake/caches/Apple-stage1.cmake b/clang/cmake/caches/Apple-stage1.cmake
index 4b11342..8a4fe6d 100644
--- a/clang/cmake/caches/Apple-stage1.cmake
+++ b/clang/cmake/caches/Apple-stage1.cmake
@@ -20,6 +20,7 @@ set(CMAKE_MACOSX_RPATH ON CACHE BOOL "")
set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "")
set(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "")
set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
+set(CLANG_SPAWN_CC1 ON CACHE BOOL "")
set(CLANG_BOOTSTRAP_PASSTHROUGH
CMAKE_OSX_ARCHITECTURES
CACHE STRING "")
diff --git a/clang/cmake/caches/Apple-stage2.cmake b/clang/cmake/caches/Apple-stage2.cmake
index eb48270..b24ec55 100644
--- a/clang/cmake/caches/Apple-stage2.cmake
+++ b/clang/cmake/caches/Apple-stage2.cmake
@@ -16,6 +16,7 @@ set(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "")
set(LLVM_ENABLE_MODULES ON CACHE BOOL "")
set(LLVM_EXTERNALIZE_DEBUGINFO ON CACHE BOOL "")
set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
+set(CLANG_SPAWN_CC1 ON CACHE BOOL "")
set(BUG_REPORT_URL "http://developer.apple.com/bugreporter/" CACHE STRING "")
set(LLVM_BUILD_EXTERNAL_COMPILER_RT ON CACHE BOOL "Build Compiler-RT with just-built clang")
diff --git a/clang/test/Driver/apple-clang-defaults.c b/clang/test/Driver/apple-clang-defaults.c
new file mode 100644
index 0000000..5673e32
--- /dev/null
+++ b/clang/test/Driver/apple-clang-defaults.c
@@ -0,0 +1,7 @@
+// RUN: %clang -c %s -### 2>&1 | FileCheck %s --check-prefix=APPLE-CLANG
+// RUN: %clang -fintegrated-cc1 -c %s -### 2>&1 | FileCheck %s --check-prefix=EXPLICIT-IN-PROCESS
+
+// REQUIRES: clang-vendor=com.apple.clang
+
+// APPLE-CLANG-NOT: (in-process)
+// EXPLICIT-IN-PROCESS: (in-process)
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index 0358a9d..413f811 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -198,3 +198,7 @@ if os.path.exists('/etc/gentoo-release'):
if config.enable_shared:
config.available_features.add("enable_shared")
+
+# Add a vendor-specific feature.
+if config.clang_vendor_uti:
+ config.available_features.add('clang-vendor=' + config.clang_vendor_uti)
diff --git a/clang/test/lit.site.cfg.py.in b/clang/test/lit.site.cfg.py.in
index 4527cca..d9b5b2f 100644
--- a/clang/test/lit.site.cfg.py.in
+++ b/clang/test/lit.site.cfg.py.in
@@ -30,6 +30,7 @@ config.host_arch = "@HOST_ARCH@"
config.python_executable = "@Python3_EXECUTABLE@"
config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@")
config.has_plugins = @LLVM_ENABLE_PLUGINS@
+config.clang_vendor_uti = "@CLANG_VENDOR_UTI@"
# Support substitution of the tools and libs dirs with user parameters. This is
# used when we can't determine the tool dir at configuration time.