[PATCH] D29479: Driver: Do not warn about unused -pthread when linking on darwin
Duncan P. N. Exon Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 2 17:54:18 PST 2017
Seems reasonable to me.
I wonder, should this do something in the case where -nostdlib has been passed, so we're not linking against libc by default? Or should it error/warning/etc.?
One comment inline below.
> On 2017-Feb-02, at 16:56, Matthias Braun via Phabricator <reviews at reviews.llvm.org> wrote:
>
> MatzeB created this revision.
> Herald added a subscriber: mcrosier.
>
> While there is nothing to do at link time to get pthreads support on
> darwin, specifying -pthread is fine and should not produce a warning
> about unused arguments.
>
>
> Repository:
> rL LLVM
>
> https://reviews.llvm.org/D29479
>
> Files:
> lib/Driver/Tools.cpp
> test/Driver/darwin-ld-pthread.c
>
>
> Index: test/Driver/darwin-ld-pthread.c
> ===================================================================
> --- /dev/null
> +++ test/Driver/darwin-ld-pthread.c
> @@ -0,0 +1,5 @@
> +// RUN: %clang -target x86_64-apple-darwin -c -o %t.o %s
I *think* you can skip this command, and just pass /dev/null as the object file to the next driver command.
> +// RUN: %clang -Wunused-command-line-argument -pthread -target x86_64-apple-darwin -### %t.o -o %t.bin 2>&1 |
> FileCheck %s
> +
> +// There is nothing to do at link time to get pthread support. But do not warn.
> +// CHECK-NOT: argument unused during compilation: '-pthread'
> Index: lib/Driver/Tools.cpp
> ===================================================================
> --- lib/Driver/Tools.cpp
> +++ lib/Driver/Tools.cpp
> @@ -8718,6 +8718,9 @@
> }
> }
>
> + // No need to do anything for pthreads. Claim argument to avoid warning.
> + Args.ClaimAllArgs(options::OPT_pthread);
> +
> const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
> std::unique_ptr<Command> Cmd =
> llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs);
>
>
> <D29479.86921.patch>
More information about the cfe-commits
mailing list