thakis created this revision. thakis added a reviewer: hans. thakis requested review of this revision.
The test failed silently if lld wasn't built alongside clang. But the test uses -###, so the "invalid linker name in -fuse-ld=lld" diag didn't make clang fail, and something else happened to match "-demangle", so the test passed. To fix, pass -B to a directory with two empty +x files (which works on non-Windows), and look for `"-demangle"` instead of just `-demangle`. Also force linker_version to 0 and pass a darwin triple. https://reviews.llvm.org/D92028 Files: clang/test/Driver/Inputs/lld/ld64.lld clang/test/Driver/Inputs/lld/ld64.lld.darwinnew clang/test/Driver/darwin-ld-demangle-lld.c Index: clang/test/Driver/darwin-ld-demangle-lld.c =================================================================== --- clang/test/Driver/darwin-ld-demangle-lld.c +++ clang/test/Driver/darwin-ld-demangle-lld.c @@ -1,6 +1,11 @@ // With -fuse-ld=lld, -demangle is always passed to the linker on Darwin. +// REQUIRES: shell -// RUN: %clang -### -fuse-ld=lld %s 2>&1 | FileCheck %s +// RUN: %clang --target=x86_64-apple-darwin -### \ +// RUN: -fuse-ld=lld -B%S/Inputs/lld -mlinker-version=0 %s 2>&1 \ +// RUN: | FileCheck %s // FIXME: Remove ld.darwinnew once it's the default (and only) mach-o lld. -// RUN: %clang -### -fuse-ld=lld.darwinnew %s 2>&1 | FileCheck %s -// CHECK: -demangle +// RUN: %clang --target=x86_64-apple-darwin -### \ +// RUN: -fuse-ld=lld.darwinnew -B%S/Inputs/lld -mlinker-version=0 %s 2>&1 \ +// RUN: | FileCheck %s +// CHECK: "-demangle"
Index: clang/test/Driver/darwin-ld-demangle-lld.c =================================================================== --- clang/test/Driver/darwin-ld-demangle-lld.c +++ clang/test/Driver/darwin-ld-demangle-lld.c @@ -1,6 +1,11 @@ // With -fuse-ld=lld, -demangle is always passed to the linker on Darwin. +// REQUIRES: shell -// RUN: %clang -### -fuse-ld=lld %s 2>&1 | FileCheck %s +// RUN: %clang --target=x86_64-apple-darwin -### \ +// RUN: -fuse-ld=lld -B%S/Inputs/lld -mlinker-version=0 %s 2>&1 \ +// RUN: | FileCheck %s // FIXME: Remove ld.darwinnew once it's the default (and only) mach-o lld. -// RUN: %clang -### -fuse-ld=lld.darwinnew %s 2>&1 | FileCheck %s -// CHECK: -demangle +// RUN: %clang --target=x86_64-apple-darwin -### \ +// RUN: -fuse-ld=lld.darwinnew -B%S/Inputs/lld -mlinker-version=0 %s 2>&1 \ +// RUN: | FileCheck %s +// CHECK: "-demangle"
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits