
The tests updated by this commit were designed to check features in the clang's driver and index that require clang to be targgeting a darwin platform while running on a darwin host. For that, their execution is currently gated by the `REQUIRES: system-darwin` annotation. This approach becomes a problem when trying to run such tests on a cross-compiling build of clang on a darwin platform. When the default target is not darwin (e.g. via `LLVM_DEFAULT_TARGET_TRIPLE `), the tests will still run on a darwin host and fail spuriously because of the mismatch with the target detection. To fix this issue, this patch introduces an extra condition to the tests' REQUIRES annotation, `target={{.*}}-{{darwin|macos}}{{.*}}`, ensuring they only run when the relevant target is present.
16 lines
936 B
C
16 lines
936 B
C
// REQUIRES: system-darwin && target={{.*}}-{{darwin|macos}}{{.*}}
|
|
|
|
// RUN: rm -rf %t && mkdir -p %t
|
|
// RUN: %clang -fdriver-only -o %t/out %s -mtargetos=macos12 -arch arm64 -arch x86_64 -MJ %t/compilation_database.json
|
|
|
|
// Let's run that again and verify we're not accumulating redundant entries in the same file.
|
|
//
|
|
// RUN: %clang -fdriver-only -o %t/out %s -mtargetos=macos12 -arch arm64 -arch x86_64 -MJ %t/compilation_database.json
|
|
// RUN: echo EOF >> %t/compilation_database.json
|
|
|
|
// RUN: FileCheck --input-file=%t/compilation_database.json %s
|
|
|
|
// CHECK-DAG: { "directory": "{{.*}}", "file": "{{.*}}", "output": "[[OUTPUT_X86_64:.*]]", "arguments": [{{.*}}, "-o", "[[OUTPUT_X86_64]]", {{.*}} "--target=x86_64-apple-macosx12.0.0"]},
|
|
// CHECK-DAG: { "directory": "{{.*}}", "file": "{{.*}}", "output": "[[OUTPUT_ARM64:.*]]", "arguments": [{{.*}}, "-o", "[[OUTPUT_ARM64]]", {{.*}} "--target=arm64-apple-macosx12.0.0"]},
|
|
// CHECK: EOF
|