On Fri, 9 Sept 2022 at 20:01, Thomas Rodgers wrote:
>
> s/__weak/__is_weak/g perhaps?
Yes, that'll do. Fixed by the attached, with a test to avoid it happening again.
Tested x86_64-linux, pushed to trunk.
>
> On Fri, Sep 9, 2022 at 11:46 AM Iain Sandoe via Libstdc++
> wrote:
>>
>>
>>
>> >
s/__weak/__is_weak/g perhaps?
On Fri, Sep 9, 2022 at 11:46 AM Iain Sandoe via Libstdc++ <
libstd...@gcc.gnu.org> wrote:
>
>
> > On 9 Sep 2022, at 19:36, Rainer Orth
> wrote:
> >
>
> >> Here's a complete patch that combines the various incremental patches
> >> that have been going around. I'm te
> On 9 Sep 2022, at 19:36, Rainer Orth wrote:
>
>> Here's a complete patch that combines the various incremental patches
>> that have been going around. I'm testing this now.
>>
>> Please take a look.
>
> unfortunately, this patch broke macOS bootstrap (seen on
> x86_64-apple-darwin11.4.2):
Hi Jonathan,
> Here's a complete patch that combines the various incremental patches
> that have been going around. I'm testing this now.
>
> Please take a look.
unfortunately, this patch broke macOS bootstrap (seen on
x86_64-apple-darwin11.4.2):
In file included from
/var/gcc/regression/master
Looks good to me.
Tom.
On Wed, Sep 7, 2022 at 4:56 AM Jonathan Wakely wrote:
> Here's a complete patch that combines the various incremental patches
> that have been going around. I'm testing this now.
>
> Please take a look.
>
Here's a complete patch that combines the various incremental patches
that have been going around. I'm testing this now.
Please take a look.
commit 4a0a8ec5bc2a890a1568f99eace666e9f72d
Author: Thomas Rodgers
Date: Thu Aug 25 11:11:40 2022
libstdc++: Clear padding bits in atomic compare
Sorry for the delay in getting to this.
I am currently working on moving the bulk of the atomic wait implementation
into the .so. I'd like to get that work to a stable state before revisiting
this patch, but obviously if we want this to make it into GCC13, it needs
to happen sooner rather than lat
On Tue, Jan 18, 2022 at 09:48:19PM +, Jonathan Wakely via Gcc-patches wrote:
> On Tue, 2 Nov 2021 at 01:26, Thomas Rodgers wrote:
>
> > This should address Jonathan's feedback and adds support for atomic_ref
> >
>
>
> >This change implements P0528 which requires that padding bits not
> >par
On Tue, 2 Nov 2021 at 01:26, Thomas Rodgers wrote:
> This should address Jonathan's feedback and adds support for atomic_ref
>
>This change implements P0528 which requires that padding bits not
>participate in atomic compare exchange operations. All arguments to the
>generic template are 'sanit
This version of the patch specifically doesn’t deal with long double.
Mostly looking for Jonathan’s review to ensure his previous feedback is
addressed. I plan to rev the patch to handle long doubles after some
further discussion with you and Jonathan.
On Tue, Nov 2, 2021 at 12:49 AM Jakub Jelinek
Am Di., 2. Nov. 2021 um 02:26 Uhr schrieb Thomas Rodgers via Libstdc++
:
>
> This should address Jonathan's feedback and adds support for atomic_ref
>
I'm wondering why __clear_padding doesn't refer to the computed __ptr
value in the case where __builtin_clear_padding is used?
Thanks,
- Daniel
On Mon, Nov 01, 2021 at 06:25:45PM -0700, Thomas Rodgers via Gcc-patches wrote:
> +template
> + constexpr bool
> + __maybe_has_padding()
> + {
> +#if __has_builtin(__has_unique_object_representations)
> + return !__has_unique_object_representations(_Tp)
> + && !is_float
well ... as long as the
> builtin exists, which is true for GCC).
>
> > +// { dg-add-options libatomic }
> > +
> > +#include
> > +
> > +#include
> > +
> > +struct S { char c; short s; };
> > +
> > +void __attribute__((noinline,noipa))
> > +fill_str
On Wed, Sep 29, 2021 at 11:22:29AM -0700, Thomas Rodgers via Gcc-patches wrote:
> > The MSVC implementation uses !__has_unique_object_representations(_Tp)
> > && !is_floating_point<_Tp>::value here, which is better than mine
> > above (FP types don't have unique object reps, but also don't have
> >
On Wed, Sep 29, 2021 at 5:14 AM Jonathan Wakely wrote:
> On Mon, 27 Sept 2021 at 15:11, Thomas Rodgers
> wrote:
> >
> > From: Thomas Rodgers
> >
> > Now with checks for __has_builtin(__builtin_clear_padding)
> >
> > This change implements P0528 which requires that padding bits not
> > participa
On Wed, Sep 29, 2021 at 01:13:46PM +0100, Jonathan Wakely via Gcc-patches wrote:
> But I think that's OK, as I think the built-in is
> smart enough to be a no-op for types with no padding.
Yes. The only effect it will have is that during the initial optimization
passes the variable/parameter will
On Wed, 29 Sept 2021 at 13:13, Jonathan Wakely wrote:
> We repeat this *a lot*. When I started work on this I defined a
> non-member function in the __atomic_impl namespace:
I've attached my incomplete patch from when I was working on this.
diff --cc libstdc++-v3/include/bits/atomic_base.h
index 7
On Mon, 27 Sept 2021 at 15:11, Thomas Rodgers wrote:
>
> From: Thomas Rodgers
>
> Now with checks for __has_builtin(__builtin_clear_padding)
>
> This change implements P0528 which requires that padding bits not
> participate in atomic compare exchange operations. All arguments to the
> generic te
From: Thomas Rodgers
Now with checks for __has_builtin(__builtin_clear_padding)
This change implements P0528 which requires that padding bits not
participate in atomic compare exchange operations. All arguments to the
generic template are 'sanitized' by the __builtin_clearpadding intrisic
before
On Thu, 23 Sep 2021, 20:07 Jakub Jelinek via Libstdc++, <
libstd...@gcc.gnu.org> wrote:
> On Thu, Sep 23, 2021 at 11:08:37AM -0700, Thomas Rodgers wrote:
> > From: Thomas Rodgers
> >
> > This change implements P0528 which requires that padding bits not
> > participate in atomic compare exchange o
Agreed, I'll revise the patch to do so.
On Thu, Sep 23, 2021 at 12:07 PM Jakub Jelinek wrote:
> On Thu, Sep 23, 2021 at 11:08:37AM -0700, Thomas Rodgers wrote:
> > From: Thomas Rodgers
> >
> > This change implements P0528 which requires that padding bits not
> > participate in atomic compare ex
On Thu, Sep 23, 2021 at 11:08:37AM -0700, Thomas Rodgers wrote:
> From: Thomas Rodgers
>
> This change implements P0528 which requires that padding bits not
> participate in atomic compare exchange operations. All arguments to the
Thanks for working on this.
> generic template are 'sanitized' b
From: Thomas Rodgers
This change implements P0528 which requires that padding bits not
participate in atomic compare exchange operations. All arguments to the
generic template are 'sanitized' by the __builtin_clear_padding intrinsic
before they are used in atomic compare_exchange. This alrequires
23 matches
Mail list logo