<div dir="ltr">I didn't write this test, so I don't know what is intended. I'd create a patch to relax the regexp and send it to the person who wrote this test.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 26, 2018 at 10:12 AM David A. Greene <<a href="mailto:dag@cray.com">dag@cray.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, that's fine by me.  We don't have a cross-linker gold, so I want to<br>
make sure this isn't testing that a cross-linker is found.<br>
<br>
                            -David<br>
<br>
Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>> writes:<br>
<br>
> Hi,<br>
><br>
> I wonder if this test really needs to depend on lld. Maybe you can<br>
> replace `ld.lld` with `ld` so that the test passes for any linker?<br>
><br>
> On Thu, Jul 26, 2018 at 9:21 AM David Greene via cfe-dev<br>
> <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
>     I've configured clang to use gold, which seems to cause<br>
>     test/Driver/baremetal.cpp to fail. The test works like this:<br>
>     <br>
>     // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \<br>
>     // RUN: -target armv6m-none-eabi \<br>
>     // RUN: -T semihosted.lds \<br>
>     // RUN: -L some/directory/user/asked/for \<br>
>     // RUN: --sysroot=%S/Inputs/baremetal_arm \<br>
>     // RUN: | FileCheck --check-prefix=CHECK-V6M-C %s<br>
>     // CHECK-V6M-C: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}<br>
>     {{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none--eabi"<br>
>     // CHECK-V6M-C-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"<br>
>     // CHECK-V6M-C-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"<br>
>     // CHECK-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]<br>
>     {{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"<br>
>     // CHECk-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]<br>
>     {{[/\\]+}}include"<br>
>     // CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal.cpp"<br>
>     // CHECK-V6M-C-NEXT: "{{[^"]*}}ld.lld{{(\.exe)?}}" "{{.*}}.o"<br>
>     "-Bstatic"<br>
>     <br>
>     The NEXT line is problematic as it assumes ld.lld. I did not build<br>
>     lld,<br>
>     though I could simply to get the test working. But building lld is<br>
>     not<br>
>     enough as I configured with CLANG_DEFAULT_LINKER=gold. It seems<br>
>     like<br>
>     the RUN line needs -fuse-ld=lld.<br>
>     <br>
>     Is there a REQUIRES clause for lld being present and default? I<br>
>     could<br>
>     not find somthing appropriate in lit's config.available_features.<br>
>     <br>
>     It's certainly possible I'm doing something wrong, as I assume<br>
>     many<br>
>     people use gold with clang. Maybe those people don't run the<br>
>     tests?<br>
>     <br>
>     I am happy to update the test if someone can point me to a good<br>
>     REQUIRES<br>
>     clause.<br>
>     <br>
>     Thanks!<br>
>     <br>
>     -David<br>
>     _______________________________________________<br>
>     cfe-dev mailing list<br>
>     <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
>     <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>