public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
@ 2016-01-16  9:57 Dominique d'Humières
  2016-01-16 20:05 ` Torvald Riegel
  2016-01-19 19:10 ` Torvald Riegel
  0 siblings, 2 replies; 16+ messages in thread
From: Dominique d'Humières @ 2016-01-16  9:57 UTC (permalink / raw)
  To: triegel; +Cc: Jonathan Wakely, libstdc++, gcc-patches

> Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
> (which is only set on Darwin despite the generic-sounding name -- so
> just use __attribute__((weak)) directly), and also updated
> testsuite_abi.cc so that it knows about CXXABI_1.3.10.
>
> Approved by Jonathan Wakely.  Committed as r232454.
This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.

TIA

Dominique

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-16  9:57 [PATCH v2] libstdc++: Make certain exceptions transaction_safe Dominique d'Humières
@ 2016-01-16 20:05 ` Torvald Riegel
  2016-01-19 19:10 ` Torvald Riegel
  1 sibling, 0 replies; 16+ messages in thread
From: Torvald Riegel @ 2016-01-16 20:05 UTC (permalink / raw)
  To: Dominique d'Humières; +Cc: Jonathan Wakely, libstdc++, gcc-patches

On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote:
> > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
> > (which is only set on Darwin despite the generic-sounding name -- so
> > just use __attribute__((weak)) directly), and also updated
> > testsuite_abi.cc so that it knows about CXXABI_1.3.10.
> >
> > Approved by Jonathan Wakely.  Committed as r232454.
> This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.

Can you (or anyone else with access to Darwin) let me know what Darwin
actually supports that would be similar in effect to the alias we use
right now?  I suppose a weak alias would work as well because we define
the C1 constructor anyway?  If so, what's the proper macros / configury
check to use for these?

Is there any documentation for what darwin supports and needs in this
space?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-16  9:57 [PATCH v2] libstdc++: Make certain exceptions transaction_safe Dominique d'Humières
  2016-01-16 20:05 ` Torvald Riegel
@ 2016-01-19 19:10 ` Torvald Riegel
  2016-01-19 19:20   ` Jonathan Wakely
  1 sibling, 1 reply; 16+ messages in thread
From: Torvald Riegel @ 2016-01-19 19:10 UTC (permalink / raw)
  To: Dominique d'Humières
  Cc: Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote:
> > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
> > (which is only set on Darwin despite the generic-sounding name -- so
> > just use __attribute__((weak)) directly), and also updated
> > testsuite_abi.cc so that it knows about CXXABI_1.3.10.
> >
> > Approved by Jonathan Wakely.  Committed as r232454.
> This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.

Please give this patch a try.  I've only tested it on x86_64-linux.
Jon, okay from your side if Darwin testing succeeds?

[-- Attachment #2: libstdc++-darwin-alias.patch --]
[-- Type: text/x-patch, Size: 2021 bytes --]

commit 6987f84f278d2cbf5b828a8c81c1be84b292b1af
Author: Torvald Riegel <triegel@redhat.com>
Date:   Tue Jan 19 18:36:14 2016 +0100

    libstdc: Use weak alias instead of just alias in TM support.
    
    	PR libstdc++/69310
    	* src/c++11/cow-stdexcept.cc: Use weak alias instead of just alias
    	to make Darwin happy.

diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc
index a0f505c..a070747 100644
--- a/libstdc++-v3/src/c++11/cow-stdexcept.cc
+++ b/libstdc++-v3/src/c++11/cow-stdexcept.cc
@@ -364,7 +364,9 @@ _ZGTtNSt##NAME##C1EPKc (CLASS* that, const char* s)			\
      construct the COW string in the latter manually.  Note that the	\
      exception classes will not be declared transaction_safe if the	\
      shared empty _Rep is disabled with --enable-fully-dynamic-string	\
-     (in which case _GLIBCXX_FULLY_DYNAMIC_STRING is nonzero).  */	\
+     (in which case _GLIBCXX_FULLY_DYNAMIC_STRING is nonzero).		\
+     The alias declarations are also declared weak because Darwin	\
+     doesn't support non-weak aliases.  */				\
   CLASS e("");								\
   _ITM_memcpyRnWt(that, &e, sizeof(CLASS));				\
   _txnal_cow_string_C1_for_exceptions(_txnal_##BASE##_get_msg(that),	\
@@ -372,7 +374,7 @@ _ZGTtNSt##NAME##C1EPKc (CLASS* that, const char* s)			\
 }									\
 void									\
 _ZGTtNSt##NAME##C2EPKc (CLASS*, const char*)				\
-  __attribute__((alias ("_ZGTtNSt" #NAME "C1EPKc")));			\
+  __attribute__((weak, alias ("_ZGTtNSt" #NAME "C1EPKc")));		\
 void									\
 _ZGTtNSt##NAME##C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
     CLASS* that, const std::__sso_string& s)				\
@@ -393,7 +395,7 @@ _ZGTtNSt##NAME##D1Ev(CLASS* that)					\
 { _txnal_cow_string_D1(_txnal_##BASE##_get_msg(that)); }		\
 void									\
 _ZGTtNSt##NAME##D2Ev(CLASS*)						\
-__attribute__((alias ("_ZGTtNSt" #NAME "D1Ev")));			\
+__attribute__((weak, alias ("_ZGTtNSt" #NAME "D1Ev")));			\
 void									\
 _ZGTtNSt##NAME##D0Ev(CLASS* that)					\
 {									\

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-19 19:10 ` Torvald Riegel
@ 2016-01-19 19:20   ` Jonathan Wakely
  2016-01-21 10:00     ` Dominique d'Humières
  0 siblings, 1 reply; 16+ messages in thread
From: Jonathan Wakely @ 2016-01-19 19:20 UTC (permalink / raw)
  To: Torvald Riegel
  Cc: Dominique d'Humières, libstdc++, gcc-patches, Jack Howarth

On 19/01/16 20:10 +0100, Torvald Riegel wrote:
>On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote:
>> > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
>> > (which is only set on Darwin despite the generic-sounding name -- so
>> > just use __attribute__((weak)) directly), and also updated
>> > testsuite_abi.cc so that it knows about CXXABI_1.3.10.
>> >
>> > Approved by Jonathan Wakely.  Committed as r232454.
>> This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.
>
>Please give this patch a try.  I've only tested it on x86_64-linux.
>Jon, okay from your side if Darwin testing succeeds?

Yes, OK.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-19 19:20   ` Jonathan Wakely
@ 2016-01-21 10:00     ` Dominique d'Humières
  2016-01-21 14:00       ` Torvald Riegel
  2016-01-21 15:25       ` Torvald Riegel
  0 siblings, 2 replies; 16+ messages in thread
From: Dominique d'Humières @ 2016-01-21 10:00 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: Torvald Riegel, libstdc++, gcc-patches, Jack Howarth

Torvald,

Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::overflow_error::overflow_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::range_error::range_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::runtime_error::runtime_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::out_of_range::out_of_range(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::length_error::length_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::invalid_argument::invalid_argument(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::domain_error::domain_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::logic_error::logic_error(const string&)' within atomic transaction
  throw T (what);
  ^~~~~

TIA

Dominique

> Le 19 janv. 2016 à 20:20, Jonathan Wakely <jwakely@redhat.com> a écrit :
> 
> On 19/01/16 20:10 +0100, Torvald Riegel wrote:
>> On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote:
>>> > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
>>> > (which is only set on Darwin despite the generic-sounding name -- so
>>> > just use __attribute__((weak)) directly), and also updated
>>> > testsuite_abi.cc so that it knows about CXXABI_1.3.10.
>>> >
>>> > Approved by Jonathan Wakely.  Committed as r232454.
>>> This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.
>> 
>> Please give this patch a try.  I've only tested it on x86_64-linux.
>> Jon, okay from your side if Darwin testing succeeds?
> 
> Yes, OK.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 10:00     ` Dominique d'Humières
@ 2016-01-21 14:00       ` Torvald Riegel
  2016-01-21 15:25       ` Torvald Riegel
  1 sibling, 0 replies; 16+ messages in thread
From: Torvald Riegel @ 2016-01-21 14:00 UTC (permalink / raw)
  To: Dominique d'Humières
  Cc: Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth

On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote:
> Torvald,
> 
> Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C
> 
> /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
>   throw T (what);
>   ^~~~~

Well, yes, that's my oversight.  The previous fix disabled the support,
so we need to now xfail or disable this test on Darwin.  Same for AIX.
Ignore these failures for now.  I'll work on a fix.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 10:00     ` Dominique d'Humières
  2016-01-21 14:00       ` Torvald Riegel
@ 2016-01-21 15:25       ` Torvald Riegel
  2016-01-21 17:15         ` Dominique d'Humières
  1 sibling, 1 reply; 16+ messages in thread
From: Torvald Riegel @ 2016-01-21 15:25 UTC (permalink / raw)
  To: Dominique d'Humières
  Cc: Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote:
> Torvald,
> 
> Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C
> 
> /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
>   throw T (what);
>   ^~~~~

Does this patch fix it (ie, mark the test unsupported)?

[-- Attachment #2: libitm-safeexc-unsupported.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

commit 259c0cf27d0a88eecc90af1aa500f88f6108cb04
Author: Torvald Riegel <triegel@redhat.com>
Date:   Thu Jan 21 16:21:33 2016 +0100

    libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
    
    	* testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
    	or AIX.

diff --git a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
index 3e1655e..55ebd25 100644
--- a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
+++ b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
@@ -2,7 +2,10 @@
 // are indeed that.  Thus, this also tests the transactional clones in
 // libstdc++ and libsupc++.
 
-// { dg-do run }
+// Not supported on Darwin nor AIX because those lack the support for
+// weak references to undefined functions that we need in libstdc++ to make
+// exceptions transaction-safe.
+// { dg-do run { target { ! *-*-darwin* powerpc-ibm-aix* } } }
 
 #include <iostream>
 #include <exception>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 15:25       ` Torvald Riegel
@ 2016-01-21 17:15         ` Dominique d'Humières
  2016-01-21 17:29           ` Dominique d'Humières
  0 siblings, 1 reply; 16+ messages in thread
From: Dominique d'Humières @ 2016-01-21 17:15 UTC (permalink / raw)
  To: Torvald Riegel; +Cc: Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth


> Le 21 janv. 2016 à 16:25, Torvald Riegel <triegel@redhat.com> a écrit :
> 
> On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote:
>> Torvald,
>> 
>> Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C
>> 
>> /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
>>  throw T (what);
>>  ^~~~~
> 
> Does this patch fix it (ie, mark the test unsupported)?

AFAIU the error occurs at compile time and If my memory is correct the patch won’t fix the issue (not tested) and the test should be skipped on *-*-darwin* powerpc-ibm-aix*.

Dominique

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 17:15         ` Dominique d'Humières
@ 2016-01-21 17:29           ` Dominique d'Humières
  2016-01-21 18:09             ` Mike Stump
  0 siblings, 1 reply; 16+ messages in thread
From: Dominique d'Humières @ 2016-01-21 17:29 UTC (permalink / raw)
  To: Torvald Riegel; +Cc: Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth


> Le 21 janv. 2016 à 18:15, Dominique d'Humières <dominiq@lps.ens.fr> a écrit :
> 
> 
>> Le 21 janv. 2016 à 16:25, Torvald Riegel <triegel@redhat.com> a écrit :
>> 
>> On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote:
>>> Torvald,
>>> 
>>> Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C
>>> 
>>> /opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
>>> throw T (what);
>>> ^~~~~
>> 
>> Does this patch fix it (ie, mark the test unsupported)?
> 
> AFAIU the error occurs at compile time and If my memory is correct the patch won’t fix the issue (not tested) and the test should be skipped on *-*-darwin* powerpc-ibm-aix*.

OK, my memory was not good!-( However the target selection in the patch is wrong, the following one works

// { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }


Dominique

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 17:29           ` Dominique d'Humières
@ 2016-01-21 18:09             ` Mike Stump
  2016-01-21 18:12               ` Pedro Alves
  2016-01-21 18:15               ` [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX Torvald Riegel
  0 siblings, 2 replies; 16+ messages in thread
From: Mike Stump @ 2016-01-21 18:09 UTC (permalink / raw)
  To: Dominique d'Humières
  Cc: Torvald Riegel, Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth

On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }

A comment to hint that this has something to do with weak undefined would be nice.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 18:09             ` Mike Stump
@ 2016-01-21 18:12               ` Pedro Alves
  2016-01-21 18:18                 ` Torvald Riegel
  2016-01-21 18:15               ` [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX Torvald Riegel
  1 sibling, 1 reply; 16+ messages in thread
From: Pedro Alves @ 2016-01-21 18:12 UTC (permalink / raw)
  To: Mike Stump, Dominique d'Humières
  Cc: Torvald Riegel, Jonathan Wakely, libstdc++, gcc-patches, Jack Howarth

On 01/21/2016 06:06 PM, Mike Stump wrote:
> On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
> 
> A comment to hint that this has something to do with weak undefined would be nice.
> 

Or come up with some new "dg-require-effective-target weakref-whatnot", making it
self-documenting.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
  2016-01-21 18:09             ` Mike Stump
  2016-01-21 18:12               ` Pedro Alves
@ 2016-01-21 18:15               ` Torvald Riegel
  2016-01-21 18:22                 ` Mike Stump
  1 sibling, 1 reply; 16+ messages in thread
From: Torvald Riegel @ 2016-01-21 18:15 UTC (permalink / raw)
  To: Mike Stump
  Cc: Dominique d'Humières, Jonathan Wakely, libstdc++,
	gcc-patches, Jack Howarth

[-- Attachment #1: Type: text/plain, Size: 495 bytes --]

On Thu, 2016-01-21 at 10:06 -0800, Mike Stump wrote:
> On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> > // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
> 
> A comment to hint that this has something to do with weak undefined would be nice.

Here's the patch I prepared (which indeed includes a comment).

OK for trunk?  I'm not quite sure whether this qualifies as a
regression, but having an additional test that now fails is one I guess.

[-- Attachment #2: libitm-safeexc-unsupported.patch --]
[-- Type: text/x-patch, Size: 980 bytes --]

commit 0323fed14832e5744cbc63bcfeeb6728f7f13394
Author: Torvald Riegel <triegel@redhat.com>
Date:   Thu Jan 21 16:21:33 2016 +0100

    libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
    
    	* testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
    	or AIX.

diff --git a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
index 3e1655e..20e2e5e 100644
--- a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
+++ b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
@@ -2,7 +2,10 @@
 // are indeed that.  Thus, this also tests the transactional clones in
 // libstdc++ and libsupc++.
 
-// { dg-do run }
+// Not supported on Darwin nor AIX because those lack the support for
+// weak references to undefined functions that we need in libstdc++ to make
+// exceptions transaction-safe.
+// { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
 
 #include <iostream>
 #include <exception>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.
  2016-01-21 18:12               ` Pedro Alves
@ 2016-01-21 18:18                 ` Torvald Riegel
  0 siblings, 0 replies; 16+ messages in thread
From: Torvald Riegel @ 2016-01-21 18:18 UTC (permalink / raw)
  To: Pedro Alves
  Cc: Mike Stump, Dominique d'Humières, Jonathan Wakely,
	libstdc++,
	gcc-patches, Jack Howarth

On Thu, 2016-01-21 at 18:12 +0000, Pedro Alves wrote:
> On 01/21/2016 06:06 PM, Mike Stump wrote:
> > On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> >> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
> > 
> > A comment to hint that this has something to do with weak undefined would be nice.
> > 
> 
> Or come up with some new "dg-require-effective-target weakref-whatnot", making it
> self-documenting.
> 

It's just one test that needs this right now.  If there should be more
in the future, I agree that a dg-require-... might be nicer.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
  2016-01-21 18:15               ` [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX Torvald Riegel
@ 2016-01-21 18:22                 ` Mike Stump
  2016-01-21 18:26                   ` Jonathan Wakely
  0 siblings, 1 reply; 16+ messages in thread
From: Mike Stump @ 2016-01-21 18:22 UTC (permalink / raw)
  To: Torvald Riegel
  Cc: Dominique d'Humières, Jonathan Wakely, libstdc++,
	gcc-patches, Jack Howarth

On Jan 21, 2016, at 10:15 AM, Torvald Riegel <triegel@redhat.com> wrote:
> On Thu, 2016-01-21 at 10:06 -0800, Mike Stump wrote:
>> On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>>> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
>> 
>> A comment to hint that this has something to do with weak undefined would be nice.
> 
> Here's the patch I prepared (which indeed includes a comment).
> 
> OK for trunk?  I'm not quite sure whether this qualifies as a
> regression, but having an additional test that now fails is one I guess.
> <libitm-safeexc-unsupported.patch>

A simple testsuite fixup like this is still ok.  From a darwin, AIX perspective it is fine.  If either the transaction or the libstdc++ people like it, I think we’re set.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
  2016-01-21 18:22                 ` Mike Stump
@ 2016-01-21 18:26                   ` Jonathan Wakely
  2016-01-21 18:27                     ` Torvald Riegel
  0 siblings, 1 reply; 16+ messages in thread
From: Jonathan Wakely @ 2016-01-21 18:26 UTC (permalink / raw)
  To: Mike Stump
  Cc: Torvald Riegel, Dominique d'Humières, libstdc++,
	gcc-patches, Jack Howarth

On 21/01/16 10:19 -0800, Mike Stump wrote:
>On Jan 21, 2016, at 10:15 AM, Torvald Riegel <triegel@redhat.com> wrote:
>> On Thu, 2016-01-21 at 10:06 -0800, Mike Stump wrote:
>>> On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>>>> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
>>>
>>> A comment to hint that this has something to do with weak undefined would be nice.
>>
>> Here's the patch I prepared (which indeed includes a comment).
>>
>> OK for trunk?  I'm not quite sure whether this qualifies as a
>> regression, but having an additional test that now fails is one I guess.
>> <libitm-safeexc-unsupported.patch>
>
>A simple testsuite fixup like this is still ok.  From a darwin, AIX perspective it is fine.  If either the transaction or the libstdc++ people like it, I think we’re set.

OK from the libstdc++ side.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
  2016-01-21 18:26                   ` Jonathan Wakely
@ 2016-01-21 18:27                     ` Torvald Riegel
  0 siblings, 0 replies; 16+ messages in thread
From: Torvald Riegel @ 2016-01-21 18:27 UTC (permalink / raw)
  To: Jonathan Wakely
  Cc: Mike Stump, Dominique d'Humières, libstdc++,
	gcc-patches, Jack Howarth

On Thu, 2016-01-21 at 18:26 +0000, Jonathan Wakely wrote:
> On 21/01/16 10:19 -0800, Mike Stump wrote:
> >On Jan 21, 2016, at 10:15 AM, Torvald Riegel <triegel@redhat.com> wrote:
> >> On Thu, 2016-01-21 at 10:06 -0800, Mike Stump wrote:
> >>> On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> >>>> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
> >>>
> >>> A comment to hint that this has something to do with weak undefined would be nice.
> >>
> >> Here's the patch I prepared (which indeed includes a comment).
> >>
> >> OK for trunk?  I'm not quite sure whether this qualifies as a
> >> regression, but having an additional test that now fails is one I guess.
> >> <libitm-safeexc-unsupported.patch>
> >
> >A simple testsuite fixup like this is still ok.  From a darwin, AIX perspective it is fine.  If either the transaction or the libstdc++ people like it, I think we’re set.
> 
> OK from the libstdc++ side.
> 

Committed.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-01-21 18:27 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-16  9:57 [PATCH v2] libstdc++: Make certain exceptions transaction_safe Dominique d'Humières
2016-01-16 20:05 ` Torvald Riegel
2016-01-19 19:10 ` Torvald Riegel
2016-01-19 19:20   ` Jonathan Wakely
2016-01-21 10:00     ` Dominique d'Humières
2016-01-21 14:00       ` Torvald Riegel
2016-01-21 15:25       ` Torvald Riegel
2016-01-21 17:15         ` Dominique d'Humières
2016-01-21 17:29           ` Dominique d'Humières
2016-01-21 18:09             ` Mike Stump
2016-01-21 18:12               ` Pedro Alves
2016-01-21 18:18                 ` Torvald Riegel
2016-01-21 18:15               ` [PATCH] libitm: Disable testing transaction-safe exceptions on Darwin and AIX Torvald Riegel
2016-01-21 18:22                 ` Mike Stump
2016-01-21 18:26                   ` Jonathan Wakely
2016-01-21 18:27                     ` Torvald Riegel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).