Message ID | 20240413201211.234747-1-ppalka@redhat.com |
---|---|
State | New |
Headers | show |
Series | [pushed] c++/modules: make bits_in/out move-constructible | expand |
On Sat, 13 Apr 2024, Patrick Palka wrote:
> Pushed as obvious after verifying C++11 bootstrap is restored.
Thank you, Patrick! x86_64-unknown-freebsd13.2 is back to bootstrap again
as well (with clang version 16.0.6).
Gerald
Hi Patrick, On Sat, 13 Apr 2024 at 22:12, Patrick Palka <ppalka@redhat.com> wrote: > > Pushed as obvious after verifying C++11 bootstrap is restored. I guess this also fixes the bootstrap_ubsan breakage on aarch64 reported by Linaro CI? See https://linaro.atlassian.net/browse/GNU-1199 (I think you also received a notification about this a few days ago?) Thanks, Christophe > > -- >8 -- > > gcc/cp/ChangeLog: > > * module.cc (struct bytes_in::bits_in): Define defaulted > move ctor. > (struct bytes_out::bits_out): Likewise. > --- > gcc/cp/module.cc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc > index bbed82652d4..c6f71e11515 100644 > --- a/gcc/cp/module.cc > +++ b/gcc/cp/module.cc > @@ -706,6 +706,7 @@ struct bytes_in::bits_in { > bflush (); > } > > + bits_in(bits_in&&) = default; > bits_in(const bits_in&) = delete; > bits_in& operator=(const bits_in&) = delete; > > @@ -752,6 +753,7 @@ struct bytes_out::bits_out { > bflush (); > } > > + bits_out(bits_out&&) = default; > bits_out(const bits_out&) = delete; > bits_out& operator=(const bits_out&) = delete; > > -- > 2.44.0.591.g8f7582d995 >
On Mon, 22 Apr 2024, Christophe Lyon wrote: > Hi Patrick, > > On Sat, 13 Apr 2024 at 22:12, Patrick Palka <ppalka@redhat.com> wrote: > > > > Pushed as obvious after verifying C++11 bootstrap is restored. > > I guess this also fixes the bootstrap_ubsan breakage on aarch64 > reported by Linaro CI? > See https://linaro.atlassian.net/browse/GNU-1199 > (I think you also received a notification about this a few days ago?) Yes, sorry for the breakage. r14-9955-g436ab7e8e8b broke bootstrap due to relying on C++17 copy elision semantics, and this followup patch trivially fixed that. > > Thanks, > > Christophe > > > > > -- >8 -- > > > > gcc/cp/ChangeLog: > > > > * module.cc (struct bytes_in::bits_in): Define defaulted > > move ctor. > > (struct bytes_out::bits_out): Likewise. > > --- > > gcc/cp/module.cc | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc > > index bbed82652d4..c6f71e11515 100644 > > --- a/gcc/cp/module.cc > > +++ b/gcc/cp/module.cc > > @@ -706,6 +706,7 @@ struct bytes_in::bits_in { > > bflush (); > > } > > > > + bits_in(bits_in&&) = default; > > bits_in(const bits_in&) = delete; > > bits_in& operator=(const bits_in&) = delete; > > > > @@ -752,6 +753,7 @@ struct bytes_out::bits_out { > > bflush (); > > } > > > > + bits_out(bits_out&&) = default; > > bits_out(const bits_out&) = delete; > > bits_out& operator=(const bits_out&) = delete; > > > > -- > > 2.44.0.591.g8f7582d995 > > > >
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index bbed82652d4..c6f71e11515 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -706,6 +706,7 @@ struct bytes_in::bits_in { bflush (); } + bits_in(bits_in&&) = default; bits_in(const bits_in&) = delete; bits_in& operator=(const bits_in&) = delete; @@ -752,6 +753,7 @@ struct bytes_out::bits_out { bflush (); } + bits_out(bits_out&&) = default; bits_out(const bits_out&) = delete; bits_out& operator=(const bits_out&) = delete;