[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