
Move the Darwin framework search path logic from InitHeaderSearch::AddDefaultIncludePaths to DarwinClang::AddClangSystemIncludeArgs. Add a new -internal-iframework cc1 argument to support the tool chain adding these paths. Now that the tool chain is adding search paths via cc1 flag, they're only added if they exist, so the Preprocessor/cuda-macos-includes.cu test is no longer relevant. Change Driver/driverkit-path.c and Driver/darwin-subframeworks.c to do -### style testing similar to the darwin-header-search and darwin-embedded-search-paths tests. Rename darwin-subframeworks.c to darwin-framework-search-paths.c and have it test all framework search paths, not just SubFrameworks. Add a unit test to validate that the myriad of search path flags result in the expected search path list. Fixes https://github.com/llvm/llvm-project/issues/75638
36 lines
2.1 KiB
C
36 lines
2.1 KiB
C
// UNSUPPORTED: system-windows
|
|
// Windows is unsupported because we use the Unix path separator `\`.
|
|
|
|
// RUN: %clang %s -target x86_64-apple-driverkit19.0 -mlinker-version=0 \
|
|
// RUN: -isysroot %S/Inputs/DriverKit19.0.sdk -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LD64-OLD
|
|
// RUN: %clang %s -target x86_64-apple-driverkit19.0 -mlinker-version=604.99 \
|
|
// RUN: -isysroot %S/Inputs/DriverKit19.0.sdk -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LD64-OLD
|
|
// RUN: %clang %s -target x86_64-apple-driverkit19.0 -mlinker-version=605.0 \
|
|
// RUN: -isysroot %S/Inputs/DriverKit19.0.sdk -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LD64-OLD
|
|
// RUN: %clang %s -target x86_64-apple-driverkit19.0 -mlinker-version=605.1 \
|
|
// RUN: -isysroot %S/Inputs/DriverKit19.0.sdk -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LD64-NEW
|
|
|
|
int main() { return 0; }
|
|
// LD64-OLD: "-isysroot" "[[PATH:[^"]*]]Inputs/DriverKit19.0.sdk"
|
|
// LD64-OLD: "-L[[PATH]]Inputs/DriverKit19.0.sdk/System/DriverKit/usr/lib"
|
|
// LD64-OLD: "-F[[PATH]]Inputs/DriverKit19.0.sdk/System/DriverKit/System/Library/Frameworks"
|
|
// LD64-NEW: "-isysroot" "[[PATH:[^"]*]]Inputs/DriverKit19.0.sdk"
|
|
// LD64-NEW-NOT: "-L[[PATH]]Inputs/DriverKit19.0.sdk/System/DriverKit/usr/lib"
|
|
// LD64-NEW-NOT: "-F[[PATH]]Inputs/DriverKit19.0.sdk/System/DriverKit/System/Library/Frameworks"
|
|
// LD64-NEW-NOT: "-F[[PATH]]Inputs/DriverKit19.0.sdk/System/DriverKit/System/Library/SubFrameworks"
|
|
|
|
|
|
// RUN: %clang %s -target x86_64-apple-driverkit19.0 -isysroot %S/Inputs/DriverKit19.0.sdk -x c++ -### 2>&1 \
|
|
// RUN: | FileCheck %s -DSDKROOT=%S/Inputs/DriverKit19.0.sdk --check-prefix=INC
|
|
//
|
|
// INC: "-isysroot" "[[SDKROOT]]"
|
|
// INC: "-internal-isystem" "[[SDKROOT]]/System/DriverKit/usr/local/include"
|
|
// INC: "-internal-isystem" "{{.+}}/lib{{(64)?}}/clang/{{[^/ ]+}}/include"
|
|
// INC: "-internal-externc-isystem" "[[SDKROOT]]/System/DriverKit/usr/include"
|
|
// INC: "-internal-iframework" "[[SDKROOT]]/System/DriverKit/System/Library/Frameworks"
|
|
// INC: "-internal-iframework" "[[SDKROOT]]/System/DriverKit/System/Library/SubFrameworks"
|