diff --git a/clang/cmake/caches/Apple-stage1.cmake b/clang/cmake/caches/Apple-stage1.cmake --- a/clang/cmake/caches/Apple-stage1.cmake +++ b/clang/cmake/caches/Apple-stage1.cmake @@ -20,6 +20,7 @@ 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 --- a/clang/cmake/caches/Apple-stage2.cmake +++ b/clang/cmake/caches/Apple-stage2.cmake @@ -16,6 +16,7 @@ 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 --- /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 --- a/clang/test/lit.cfg.py +++ b/clang/test/lit.cfg.py @@ -198,3 +198,7 @@ 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 --- a/clang/test/lit.site.cfg.py.in +++ b/clang/test/lit.site.cfg.py.in @@ -30,6 +30,7 @@ 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.