[cfe-commits] [PATCH] Bitrig - multiple changes

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Oct 22 19:50:41 PDT 2012


lgtm. Can you just add a test with -pthread and no -pg for completeness?

On 21 October 2012 23:37, David Hill <dhill at mindcry.org> wrote:
> Ping.
>
> On Wed, Oct 17, 2012 at 09:26:57PM -0400, David Hill wrote:
>>Thanks for the partial commit and info regarding the tests.
>>
>>Attached is a new diff that hopefully with simpler tests.
>>
>>Is this ok?
>>
>>On Wed, Oct 17, 2012 at 02:37:59AM -0700, Chandler Carruth wrote:
>>> Orthogonal cleanups such as -ccc-clang-archs removal should be in a
>>> separate patch generally speaking. I'll go ahead and apply that part to
>>> save a round trip.
>>>
>>> The test cases though look much like the original test cases in the patch I
>>> cleaned up for you. I had to edit those test cases significantly to get
>>> them to pass on Linux. Could you try to write the assertions in a manner
>>> more similar to the ones I ended up checking in? Specifically there is no
>>> reason to check every argument to the linker when you're really trying to
>>> isolate and test a single feature. The way you've written in the tests are
>>> simply too brittle.
>>>
>>>
>>> On Tue, Oct 16, 2012 at 7:37 PM, David Hill <dhill at mindcry.org> wrote:
>>>
>>> > How is this?
>>> >
>>> > On Tue, Oct 16, 2012 at 05:24:59PM -0700, Eli Friedman wrote:
>>> > > On Mon, Oct 15, 2012 at 9:00 AM, David Hill <dhill at mindcry.org> wrote:
>>> > > > Ping.  Can someone commit this?
>>> > >
>>> > > +    if (Args.hasArg(options::OPT_pthread)) {
>>> > > +      if (!Args.hasArg(options::OPT_shared) &&
>>> > > +          Args.hasArg(options::OPT_pg))
>>> > >
>>> > > I'd like to see a driver test where the check for -shared matters.
>>> > >
>>> > > -Eli
>>> >
>>> > _______________________________________________
>>> > cfe-commits mailing list
>>> > cfe-commits at cs.uiuc.edu
>>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>> >
>>> >
>
>>diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
>>index 760fc8b..938f888 100644
>>--- a/lib/Driver/Tools.cpp
>>+++ b/lib/Driver/Tools.cpp
>>@@ -5160,8 +5160,14 @@ void bitrig::Link::ConstructJob(Compilation &C, const JobAction &JA,
>>         CmdArgs.push_back("-lm");
>>     }
>>
>>-    if (Args.hasArg(options::OPT_pthread))
>>-      CmdArgs.push_back("-lpthread");
>>+    if (Args.hasArg(options::OPT_pthread)) {
>>+      if (!Args.hasArg(options::OPT_shared) &&
>>+          Args.hasArg(options::OPT_pg))
>>+        CmdArgs.push_back("-lpthread_p");
>>+      else
>>+        CmdArgs.push_back("-lpthread");
>>+    }
>>+
>>     if (!Args.hasArg(options::OPT_shared)) {
>>       if (Args.hasArg(options::OPT_pg))
>>         CmdArgs.push_back("-lc_p");
>>diff --git a/test/Driver/bitrig.c b/test/Driver/bitrig.c
>>index 8e9c1db..3e6768b 100644
>>--- a/test/Driver/bitrig.c
>>+++ b/test/Driver/bitrig.c
>>@@ -12,3 +12,13 @@
>> // RUN:   | FileCheck --check-prefix=CHECK-LD-CXX-STDLIB %s
>> // CHECK-LD-CXX-STDLIB: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
>> // CHECK-LD-CXX-STDLIB: ld{{.*}}" {{.*}} "-lc++" "-lcxxrt" "-lgcc" "-lm" "-lc" "-lclang_rt.amd64"
>>+
>>+// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig -pg -pthread %s -### 2>&1 \
>>+// RUN:   | FileCheck --check-prefix=CHECK-PG-PTHREAD %s
>>+// CHECK-PG-PTHREAD: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
>>+// CHECK-PG-PTHREAD: ld{{.*}}" {{.*}} "{{.*}}crtbegin.o" {{.*}}.o" "-lpthread_p" "-lc_p" "-lclang_rt.amd64" "{{.*}}crtend.o"
>>+
>>+// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig -shared -pg -pthread %s -### 2>&1 \
>>+// RUN:   | FileCheck --check-prefix=CHECK-PG-PTHREAD-SHARED %s
>>+// CHECK-PG-PTHREAD-SHARED: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
>>+// CHECK-PG-PTHREAD-SHARED: ld{{.*}}" {{.*}} "{{.*}}crtbeginS.o" {{.*}}.o" "-lpthread" "-lclang_rt.amd64" "{{.*}}crtendS.o"
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list