Re: [PATCH 0/2] Replace intl/ with out-of-tree GNU gettext

2023-09-29 Thread Arsen Arsenović
Bruno Haible writes: > Arsen Arsenović wrote: >> -+The in-tree configuration requires GNU gettext v0.22. > > Can you change this to "... requires GNU gettext version 0.22 or newer.", > please? > I wouldn't like to give the impression that a particular r

[PATCH v2 1/2] intl: remove, in favor of out-of-tree gettext

2023-10-06 Thread Arsen Arsenović
ChangeLog: * intl: Remove directory. Replaced with out-of-tree GNU gettext. --- Note that the commit message here doesn't pass the changelog verifier. What should I reword it as? mklog suggests: ChangeLog: * intl/ChangeLog: Removed. * intl/Makefile.in: Removed.

[PATCH v2 0/2] Replace intl/ with out-of-tree GNU gettext

2023-10-06 Thread Arsen Arsenović
Afternoon, This patch is a rebase and rewording of https://inbox.sourceware.org/20230925150921.894157-1-ar...@aarsen.me/ Changes since v1: - Implement Brunos suggested changes to install.texi. - Elaborate commit message in p2 (as requested by the Binutils maintainers). Arsen Arsenović (2

Re: [PATCH v2 2/2] *: add modern gettext

2023-10-06 Thread Arsen Arsenović
h was released > on 2023-09-26. (Older versions of libintl crash on macOS 14, due > to an incompatible change in macOS.) [1] Thanks. I'll update before pushing. -- Arsen Arsenović signature.asc Description: PGP signature

Ping: [PATCH v2 0/2] Replace intl/ with out-of-tree GNU gettext

2023-10-15 Thread Arsen Arsenović
Evening, Arsen Arsenović writes: > Afternoon, > > This patch is a rebase and rewording of > https://inbox.sourceware.org/20230925150921.894157-1-ar...@aarsen.me/ > > Changes since v1: > - Implement Brunos suggested changes to install.texi. > - Elaborate commit message in

Re: [PATCH] libstdc++ Add cstdarg to freestanding

2023-10-22 Thread Arsen Arsenović
"Paul M. Bendixen" writes: > Updated patch, added the requested files, hopefully wrote the commit better. LGTM. Jonathan? -- Arsen Arsenović signature.asc Description: PGP signature

Ping^2: [PATCH v2 0/2] Replace intl/ with out-of-tree GNU gettext

2023-10-26 Thread Arsen Arsenović
Ping^2 It'd be nice to get this patch into 14 (given the intended C strictness changes, especially). Have a lovely evening. -- Arsen Arsenović signature.asc Description: PGP signature

Re: Ping: [PATCH v2 0/2] Replace intl/ with out-of-tree GNU gettext

2023-10-28 Thread Arsen Arsenović
r{with-included-gettext} @item --with-included-gettext Only available if @file{gettext} is present in the source tree. Thanks. -- Arsen Arsenović signature.asc Description: PGP signature

Re: Ping: [PATCH v2 0/2] Replace intl/ with out-of-tree GNU gettext

2023-10-28 Thread Arsen Arsenović
Hi Iain, Iain Sandoe writes: > Hi Arsen, > >> On 28 Oct 2023, at 10:22, Arsen Arsenović wrote: > >> Andrew Pinski writes: >> >>> One comment from me. It would be nice to update install.texi in >>> gcc/doc/ to make a mention of this requirement for

[PATCH v3 1/2] intl: remove, in favor of out-of-tree gettext

2023-11-02 Thread Arsen Arsenović
ChangeLog: * intl/*: Remove. --- intl/ChangeLog | 306 -- intl/Makefile.in | 264 -- intl/README | 21 - intl/VERSION |1 - intl/aclocal.m4 | 33 - intl/bindtextdom.c | 374 -- intl/config.h.in | 280 -- intl/config.intl.in | 12 - intl

[PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-02 Thread Arsen Arsenović
-gettext} @item --with-included-gettext OK for trunk? (granted that a regstrap + hand-test for working localization passes - build's ongoing asynchronously) Thanks in advance, have a lovely day. Arsen Arsenović (2): intl: remove, in favor of out-of-tree gettext *: add modern ge

[PATCH v3 2/2] *: add modern gettext

2023-11-02 Thread Arsen Arsenović
This patch updates gettext.m4 and related .m4 files and adds gettext-runtime as a gmp/mpfr/... style host library, allowing newer libintl to be used. This patch /does not/ add build-time tools required for internationalizing (msgfmt et al), instead, it just updates the runtime library. The result

[PATCH 2/2] libstdc++: fix generator iterator operator* return type

2024-03-23 Thread Arsen Arsenović
Per the standard, the return type of a generators ranges iterator op* should be the reference type rather than the yielded type. The yielded type was used here by mistake. libstdc++-v3/ChangeLog: * include/std/generator (generator::_Iterator::operator*): Fix return type.

[PATCH 0/2] A few minor fixes in

2024-03-23 Thread Arsen Arsenović
From: Arsen Arsenović Afternoon! These couple of patches fix two minor issues in the generator implementation that were informally reported a while ago. Tested on x86_64-pc-linux-gnu. OK for trunk? TIA, have a lovely day! Arsen Arsenović (2): libstdc++: fix _V badname in libstdc++: fix

[PATCH 1/2] libstdc++: fix _V badname in

2024-03-23 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/std/generator: Fix _V badname. --- libstdc++-v3/include/std/generator | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libstdc++-v3/include/std/generator b/libstdc++-v3/include/std/generator index 87983ee5e7c6..2d1d

[pushed] libstdc++-v3: drop GCC Runtime Library Exception from gen tests

2024-03-29 Thread Arsen Arsenović
It was mistakenly added to these files. libstdc++-v3/ChangeLog: * testsuite/24_iterators/range_generators/01.cc: Drop GCC Runtime Library Exception. * testsuite/24_iterators/range_generators/02.cc: Drop GCC Runtime Library Exception. * testsuite/24_iterator

Re: [PATCH 2/2] libstdc++: Handle encodings in localized chrono formatting [PR109162]

2024-02-01 Thread Arsen Arsenović
/io.cc > b/libstdc++-v3/testsuite/std/time/weekday_last/io.cc > index 6f76922195d..d069d857ff0 100644 > --- a/libstdc++-v3/testsuite/std/time/weekday_last/io.cc > +++ b/libstdc++-v3/testsuite/std/time/weekday_last/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year/io.cc > b/libstdc++-v3/testsuite/std/time/year/io.cc > index bcaa57faeb7..1bdc95ddbd1 100644 > --- a/libstdc++-v3/testsuite/std/time/year/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year_month/io.cc > b/libstdc++-v3/testsuite/std/time/year_month/io.cc > index 7bb3442e299..e7963d31ae6 100644 > --- a/libstdc++-v3/testsuite/std/time/year_month/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year_month/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year_month_day/io.cc > b/libstdc++-v3/testsuite/std/time/year_month_day/io.cc > index cb82ef3b612..e7dc60b9dea 100644 > --- a/libstdc++-v3/testsuite/std/time/year_month_day/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year_month_day/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc > b/libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc > index 3241536a2e6..a57e56a1805 100644 > --- a/libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc > b/libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc > index 65baf1d37ae..e9a5bee7666 100644 > --- a/libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc > b/libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc > index 17f2244420d..fc2328ac001 100644 > --- a/libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc > +++ b/libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-namedlocale "fr_FR.ISO8859-15" } > // { dg-timeout-factor 2 } > diff --git a/libstdc++-v3/testsuite/std/time/zoned_time/1.cc > b/libstdc++-v3/testsuite/std/time/zoned_time/1.cc > index 1623aca1c7a..e773f50ae73 100644 > --- a/libstdc++-v3/testsuite/std/time/zoned_time/1.cc > +++ b/libstdc++-v3/testsuite/std/time/zoned_time/1.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-effective-target tzdb } > // { dg-require-effective-target cxx11_abi } > diff --git a/libstdc++-v3/testsuite/std/time/zoned_time/io.cc > b/libstdc++-v3/testsuite/std/time/zoned_time/io.cc > index 376b2734f19..c19e2a3c882 100644 > --- a/libstdc++-v3/testsuite/std/time/zoned_time/io.cc > +++ b/libstdc++-v3/testsuite/std/time/zoned_time/io.cc > @@ -1,3 +1,4 @@ > +// { dg-options "-lstdc++exp" { target c++23 } } > // { dg-do run { target c++20 } } > // { dg-require-effective-target cxx11_abi } > // { dg-timeout-factor 2 } -- Arsen Arsenović

Ping^2: [PATCH] toplevel: don't override gettext-runtime/configure-discovered build args

2024-01-15 Thread Arsen Arsenović
Evening folks, Hope you had wonderful holidays. Gentle ping on this patch. Have a lovely night! -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH] toplevel: don't override gettext-runtime/configure-discovered build args

2023-12-21 Thread Arsen Arsenović
ChangeLog: PR bootstrap/112534 * Makefile.def (host-gettext): Set all_args_override="". * Makefile.in: Regenerate. * Makefile.tpl (all--args): Define as a helper macro for computing extra arguments to make. (all): Use all--args over args. --- Hi, Thi

[PATCH v2 1/2] libstdc++: add missing include in ranges_util.h

2023-12-21 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/bits/ranges_util.h: Add missing include. --- libstdc++-v3/include/bits/ranges_util.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libstdc++-v3/include/bits/ranges_util.h b/libstdc++-v3/include/bits/ranges_util.h index 185e46ec7a94..ad61a1

[PATCH v2 0/2] libstdc++: generators v2

2023-12-21 Thread Arsen Arsenović
ool -+ operator==(const _Iterator& i, default_sentinel_t) noexcept -+ { return i._M_coro.done(); } ++ operator==(const _Iterator& __i, default_sentinel_t) noexcept ++ { return __i._M_coro.done(); } + + friend class generator; + @@ libstdc++-v3/include/std/ge

[PATCH v2 2/2] libstdc++: implement std::generator

2023-12-21 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/Makefile.am: Install std/generator, bits/elements_of.h as freestanding. * include/Makefile.in: Regenerate. * include/bits/version.def: Add __cpp_lib_generator. * include/bits/version.h: Regenerate. * include/precompi

Re: [PATCH v2 2/2] libstdc++: implement std::generator

2023-12-26 Thread Arsen Arsenović
Hi Will, Will Hawkins writes: > On Thu, Dec 21, 2023 at 4:26 PM Arsen Arsenović wrote: >> >> libstdc++-v3/ChangeLog: >> > > ... snip ... > >> + void >> + _M_jump_in(_Coro_handle __rest, _Coro_handle __new) noexcept >> + { >&g

Ping: [PATCH] toplevel: don't override gettext-runtime/configure-discovered build args

2023-12-30 Thread Arsen Arsenović
Hi, Ping on this patch. TIA, have a lovely day and happy holidays! -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH v2 2/2] libstdc++: implement std::generator

2024-01-04 Thread Arsen Arsenović
Jonathan Wakely writes: > On Thu, 21 Dec 2023 at 21:26, Arsen Arsenović wrote: >> + >> +template >> +concept _Stateless_alloc = (allocator_traits<_A>::is_always_equal::value >> + && default_initializable<_A>

[pushed 2/2] libstdc++: fix typo in

2024-01-04 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/std/generator (_Subyield_state::_M_jump_in): Fix typo reported by Will Hawkins . --- libstdc++-v3/include/std/generator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/generator b/libstdc++-v3/include/

[pushed 1/2] libstdc++: rename _A badname in

2024-01-04 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/std/generator (_Stateless_alloc): Rename typename _A to _All. --- Pushed as obvious. Happy new year, have a lovely day! libstdc++-v3/include/std/generator | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/inc

Re: [PATCH wwwdocs 1/1] gcc-14: document P1689R5 scanning output support

2024-01-06 Thread Arsen Arsenović
;ve added it to my subject, hopefully that works. Have a lovely day! -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH] gettext: disable install, docs targets, libasprintf, threads

2023-12-02 Thread Arsen Arsenović
This fixes issues reported by David Edelsohn , and by Eric Gallager . ChangeLog: * Makefile.def (gettext): Disable (via missing) {install-,}{pdf,html,info,dvi} and TAGS targets. Set no_install to true. Add --disable-threads --disable-libasprintf. Drop the lib_pa

[PATCH] download_prerequisites: add --only-gettext

2023-12-02 Thread Arsen Arsenović
contrib/ChangeLog: * download_prerequisites : Parse --only-gettext. (echo_archives): Check only_gettext and stop early if true. (helptext): Document --only-gettext. --- Afternoon, This patch adds a --only-gettext option to download_prerequisites for when the only u

Re: [PATCH] gettext: disable install, docs targets, libasprintf, threads

2023-12-04 Thread Arsen Arsenović
Richard Biener writes: > OK. Thanks. I'll wait for the Binutils and GDB maintainers to weigh in before pushing (plus, I can't push there). Have a lovely day! -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH 1/2] libstdc++: declare std::allocator in !HOSTED as an extension

2023-11-09 Thread Arsen Arsenović
This allows us to add features to freestanding which allow specifying non-default allocators (generators, collections, ...) without having to modify them. libstdc++-v3/ChangeLog: * include/bits/memoryfwd.h: Remove HOSTED check around allocator and its specializations. --- Evening,

[PATCH 2/2] libstdc++: mark 20_util/scoped_allocator/noexcept.cc R-E-T hosted

2023-11-09 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as requiring hosted. --- libstdc++-v3/testsuite/20_util/scoped_allocator/noexcept.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/noexcept.cc b/li

Re: [PATCH 1/2] libstdc++: declare std::allocator in !HOSTED as an extension

2023-11-09 Thread Arsen Arsenović
Jonathan Wakely writes: > OK Thanks, pushed (tests did pass). Have a lovely night. -- Arsen Arsenović signature.asc Description: PGP signature

Re: [RFC PATCH] Detecting lifetime-dse issues via Valgrind

2023-11-11 Thread Arsen Arsenović
o have a link-time error here if missing? Have a lovely night. -- Arsen Arsenović signature.asc Description: PGP signature

[committed] libcpp: Regenerate config.in

2023-11-13 Thread Arsen Arsenović
The previous commit did not include regenerating files maintained by autoheader. libcpp/ChangeLog: * config.in: Regenerate. --- Pushed as obvious in response to the quite neat buildbot: https://builder.sourceware.org/buildbot/#/builders/269/builds/56 libcpp/config.in | 17 ++

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-14 Thread Arsen Arsenović
e mode? I'll try to investigate ASAP. In the meanwhile, does disabling NLS etc work? Thanks in advance, have a lovely night. -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-15 Thread Arsen Arsenović
igure believes that NLS functions on AIX, but gcc configure > fails in its tests of gettext functionality, which leads to an inconsistent > configuration and build breakage. > > Thanks, David -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-16 Thread Arsen Arsenović
David Edelsohn writes: > On Wed, Nov 15, 2023 at 9:22 AM Arsen Arsenović wrote: > >> >> David Edelsohn writes: >> >> > GCC had been working on AIX with NLS, using "--with-included-gettext". >> > --disable-nls gets past the breakage, b

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-16 Thread Arsen Arsenović
Xi Ruoyao writes: > On Wed, 2023-11-15 at 15:14 +0100, Arsen Arsenović wrote: >> That is interesting.  They should be using the same checks.  I've >> checked trunk and regenerated files on it, and saw no significant diff >> (some whitespace changes only).  Could

Re: building GNU gettext on AIX

2023-11-16 Thread Arsen Arsenović
gine passing --disable-threads would be OK too, for the case that it is utilized. (relevant for the latter case: GCC-private build of libintl) > How do other library vendors handle this issue on AIX? Do they ship two > libraries, one MT-safe and one not? Under different names? Or in different > library search paths? > > Bruno > > [1] https://www.ibm.com/support/pages/aix-support-lifecycle-information -- Arsen Arsenović signature.asc Description: PGP signature

Re: building GNU gettext on AIX

2023-11-16 Thread Arsen Arsenović
Bruno Haible writes: > Arsen Arsenović wrote: >> > * If yes, then the question is how distributors will in general package >> > libintl on AIX. If it's installed in public locations (such as in >> > /opt/freeware/{lib,lib64}/libintl.a on gcc119.fsff

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-16 Thread Arsen Arsenović
Arsen Arsenović writes: > [[PGP Signed Part:Good signature from 52C294301EA2C493 Arsen Arsenović > (Gentoo Developer UID) (trust ultimate) created at > 2023-11-16T19:47:16+0100 using EDDSA]] > > David Edelsohn writes: > >> On Wed, Nov 15, 2023 at 9:22 A

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-16 Thread Arsen Arsenović
intl.a(libintl.so.8) could not be loaded. Member libintl.so.8 is not found in archive I'll try to see why intl/ didn't cause the same issue soon. Thanks, have a lovely evening. > Thanks, David > > > > On Thu, Nov 16, 2023 at 4:15 PM Arsen Arsenović wrote: > >>

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-16 Thread Arsen Arsenović
David Edelsohn writes: > On Thu, Nov 16, 2023 at 5:22 PM Arsen Arsenović wrote: > >> >> David Edelsohn writes: >> >> > Don't build with the dependent libraries in tree. Don't build the >> > dependent libraries as shared libraries. The li

Re: building GNU gettext on AIX

2023-11-16 Thread Arsen Arsenović
b/libcurses.a(shr42_64.o) > /usr/lib/libiconv.a(shr4_64.o) > /usr/lib/libc++.a(shr_64.o) > /usr/lib/libc++abi.a(libc++abi.so.1) > /usr/lib/libc.a(shr_64.o) > /usr/lib/libpthreads.a(_shr_xpg5_64.o) > /usr/lib/libc++.a(libc++.so.1) >

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-17 Thread Arsen Arsenović
David Edelsohn writes: > On Thu, Nov 16, 2023 at 5:52 PM Arsen Arsenović wrote: > > [snip] >> Sure, but my patch does insert --disable-shared: >> >> --8<---cut here---start->8--- >> host_modules= { module= g

Re: building GNU gettext on AIX

2023-11-17 Thread Arsen Arsenović
Richard Biener writes: > On Fri, Nov 17, 2023 at 12:13 AM Arsen Arsenović wrote: >> >> >> Bruno Haible writes: >> >> > Hi David, >> > >> >> the default, distributed libintl library will not allow GCC to be built >> >>

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-17 Thread Arsen Arsenović
Richard Biener writes: > On Fri, Nov 17, 2023 at 9:46 AM Arsen Arsenović wrote: >> >> >> David Edelsohn writes: >> >> > On Thu, Nov 16, 2023 at 5:52 PM Arsen Arsenović wrote: >> > >> > [snip] >> >> Sure, but my patch doe

Re: building GNU gettext on AIX

2023-11-17 Thread Arsen Arsenović
ing it in-tree, in which case we already want a --disable-shared build). If that library gets installed, then, so far, it is unintentional. I'll check that (as well as the docs targets that Eric Gallager mentioned on IRC) tonight. > Bruno > > [1] https://lists.gnu.org/archive/html/bug-gnulib/2023-11/msg00164.html -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-17 Thread Arsen Arsenović
David Edelsohn writes: > On Fri, Nov 17, 2023 at 3:46 AM Arsen Arsenović wrote: > >> >> David Edelsohn writes: >> >> > On Thu, Nov 16, 2023 at 5:52 PM Arsen Arsenović wrote: >> > >> > [snip] >> >> Sure, but my patch does i

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-18 Thread Arsen Arsenović
David Edelsohn writes: > On Fri, Nov 17, 2023 at 10:17 AM Arsen Arsenović wrote: > >> >> David Edelsohn writes: >> >> > On Fri, Nov 17, 2023 at 3:46 AM Arsen Arsenović wrote: >> > >> >> >> >> David Edelsohn writes: >&

[PATCH] libstdc++: implement std::generator

2023-11-18 Thread Arsen Arsenović
libstdc++-v3/ChangeLog: * include/Makefile.am: Install std/generator, bits/elements_of.h as freestanding. * include/Makefile.in: Regenerate. * include/bits/version.def: Add __cpp_lib_generator. * include/bits/version.h: Regenerate. * include/precompi

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-20 Thread Arsen Arsenović
04058e89d7a7a4 AUX indx 58 prmhsh 0 snhsh 0 typ 2 algn 0 clss 1 stb 0 snstb 0 [ 62](sec 2)(fl 0x00)(ty0)(scl 107) (nx 1) 0x05a0 _autosprintf.rw_ AUX val 0 prmhsh 0 snhsh 0 typ 1 algn 4 clss 5 stb 0 snstb 0 I am unsure what this symbol is. It does not appear in the stripped binary. -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-20 Thread Arsen Arsenović
l report back. > Thanks, David > > > On Mon, Nov 20, 2023 at 4:23 PM Arsen Arsenović wrote: > >> >> David Edelsohn writes: >> >> > On Sun, Nov 19, 2023 at 5:15 PM Bruno Haible wrote: >> > >> >> David Edelsohn wrote: >> >&g

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-20 Thread Arsen Arsenović
Bruno Haible writes: > Arsen Arsenović wrote: >> Comparing stages 2 and 3 >> Bootstrap comparison failure! >> gettext/libasprintf/autosprintf.o differs >> make[2]: *** [Makefile:23435: compare] Error 1 > > You should be able to work around this

Re: [PATCH v3 0/2] Replace intl/ with out-of-tree GNU gettext

2023-11-21 Thread Arsen Arsenović
Arsen Arsenović writes: > Bruno Haible writes: > >> Arsen Arsenović wrote: >>> Comparing stages 2 and 3 >>> Bootstrap comparison failure! >>> gettext/libasprintf/autosprintf.o differs >>> make[2]: *** [Makefile:23435: compare] Error 1

[PATCH 0/2] Replace intl/ with out-of-tree GNU gettext

2023-09-25 Thread Arsen Arsenović
libc.so.7 (0x258b25acc000) [vdso] (0x7fffe5d0) OK for trunk (if passing review on the binutils and GDB sides)? Thanks in advance, have a lovely day. Arsen Arsenović (2): intl: remove, in favor of out-of-tree gettext *: add modern gettext .gitignore |1 + Mak

Re: [PATCH 0/2] Replace intl/ with out-of-tree GNU gettext

2023-09-25 Thread Arsen Arsenović
Xi Ruoyao writes: > On Mon, 2023-09-25 at 17:00 +0200, Arsen Arsenović wrote: >> Afternoon, >> >> This patch series replaces the old (early 2000s era, AFAICT) libintl >> implementation in-tree, which relies on C constructs some compilers >> (newer clang, hopef

Ping^3: [PATCH 0/3] Recover in-tree libiconv build support

2024-07-07 Thread Arsen Arsenović
Arsen Arsenović writes: > Another gentle ping on this patch series. Could it be merged into > trunk? And another! Sorry about them being sparse - I was quite busy in the meanwhile. -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH] c++: improve diagnostic of 'return's in coroutines

2024-08-07 Thread Arsen Arsenović
Enlargening the function-specific data block is not great. I've considered changing the location of RETURN_STMT expressions to cover everything from the return expression to input_location after parsing the returned expr. The result of that is: test.cc:38:3: error: a ‘return’ statement is not al

Re: [PATCH] c++: improve diagnostic of 'return's in coroutines

2024-08-07 Thread Arsen Arsenović
Jason Merrill writes: > On 8/7/24 7:31 PM, Arsen Arsenović wrote: >> Enlargening the function-specific data block is not great. > > Indeed, I think it would be better to search DECL_SAVED_TREE for a RETURN_STMT > once we've decided to give an error. The tr

[PATCH v2] c++: improve diagnostic of 'return's in coroutines

2024-08-08 Thread Arsen Arsenović
Tested on x86_64-pc-linux-gnu. I have blinking tsan test results again, but I think they're bogus (I'll re-test on physical hardware before pushing if needed). I'm somewhat curious of we should do a similar change WRT RETURN_EXPRs in the C FE (currently, the C FE uses the operand location for its

Re: [PATCH v2] c++: improve diagnostic of 'return's in coroutines

2024-08-09 Thread Arsen Arsenović
Jason Merrill writes: > On 8/8/24 4:29 PM, Arsen Arsenović wrote: >> Tested on x86_64-pc-linux-gnu. I have blinking tsan test results again, >> but I think they're bogus (I'll re-test on physical hardware before >> pushing if needed). >> I'm somewhat cu

C++/ME patch ping

2024-08-10 Thread Arsen Arsenović
g the wrong people, unsure who's best to ping here) -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH] gnat: fix lto-type-mismatch between C_Version_String and gnat_version_string [PR115917]

2024-08-15 Thread Arsen Arsenović
Reg-tested on x86_64-pc-linux-gnu with all languages and yes,rtl,extra checking. OK for trunk? TIA, have a lovely day. -- >8 -- gcc/ada/ChangeLog: PR ada/115917 * gnatvsn.ads: Add note about the duplication of this value in verrsion.c. * version.c

Ping^2: C++/ME patch ping

2024-08-21 Thread Arsen Arsenović
Hi, Pinging these patches again: - https://inbox.sourceware.org/20240807131613.526335-1-ar...@aarsen.me/ - https://inbox.sourceware.org/20240802211503.3992610-2-ar...@aarsen.me/ Thanks in advance, have a lovely day. -- Arsen Arsenović signature.asc Description: PGP signature

[PATCH v3 1/2] c++: improve location of parsed RETURN_EXPRs

2024-08-21 Thread Arsen Arsenović
For clarity, here's the entire split-up patch I intend to push, if it looks OK. Tested on x86_64-pc-linux-gnu. I've renamed the field we've discussed and also a few parameters that refer to 'kw' to be less specific. The code is functionally identical. OK for trunk? TIA, have a lovely day.

[PATCH v3 2/2] c++: improve diagnostic of 'return's in coroutines

2024-08-21 Thread Arsen Arsenović
We now point out why a function is a coroutine, and where (the first return) is in the function. gcc/cp/ChangeLog: * coroutines.cc (struct coroutine_info): Rename first_coro_keyword -> first_coro_expr. The former name is no longer accurate. (coro_promise_type_foun

Re: [PATCH v3 1/2] c++: improve location of parsed RETURN_EXPRs

2024-08-21 Thread Arsen Arsenović
Jason Merrill writes: > On 8/21/24 1:52 PM, Arsen Arsenović wrote: >> For clarity, here's the entire split-up patch I intend to push, if it >> looks OK. Tested on x86_64-pc-linux-gnu. >> I've renamed the field we've discussed and also a few parameters that

Re: [PATCH] warn-access: ignore template parameters when matching operator new/delete [PR109224]

2024-08-21 Thread Arsen Arsenović
Jason Merrill writes: > On 8/2/24 4:36 PM, Arsen Arsenović wrote: >> I'm not 100% clear on what the semantics of the matching here are meant >> to be - AFAICT, an operator new/delete pair matches (after falling >> through the other cases) if all their components (besi

[PATCH] c++/coros: do not assume coros don't nest [PR113457]

2024-08-23 Thread Arsen Arsenović
Tested against folly and cppcoro, currently regstrapping on x86_64-pc-linux-gnu. coroutine.exp and coro-torture.exp passed. OK for trunk? (after regstrap) -- >8 -- In the testcase presented in the PR, during template expansion, an tsubst of an operand causes a lambda coroutine to

Re: [PATCH] c++/coros: do not assume coros don't nest [PR113457]

2024-08-23 Thread Arsen Arsenović
g_assert if you prefer. No strong feelings in this instance. Thanks. -- Arsen Arsenović signature.asc Description: PGP signature

Re: [PATCH] c++/coros: do not assume coros don't nest [PR113457]

2024-08-24 Thread Arsen Arsenović
Hi, Arsen Arsenović writes: > gcc/testsuite/ChangeLog: > > * g++.dg/coroutines/pr113457-1.C: New test. > * g++.dg/coroutines/pr113457.C: New test. Just noticed that pr113457.C actually has excess errors. Unsure how I didn't notice on initial testing (the r

Re: [PATCH] c++/coroutines: fix actor cases not being added to the current switch [PR109867]

2024-08-27 Thread Arsen Arsenović
Jason Merrill writes: > On 8/1/24 12:48 PM, Arsen Arsenović wrote: >> Tested on x86_64-pc-linux-gnu, no regression. >> OK for trunk? >> TIA, have a lovely day. >> -- >8 -- >> Previously, we were building and inserting case_labels manually, w

[PATCH] c++: don't remove labels during coro-early-expand-ifns [PR105104]

2024-08-28 Thread Arsen Arsenović
Regtested on x86_64-pc-linux-gnu. OK for trunk? -- >8 -- In some scenarios, it is possible for the CFG cleanup to cause one of the labels mentioned in CO_YIELD, which coro-early-expand-ifns intends to remove, to become part of some statement. As a result, when that label is remove

[PATCH 1/3] c++: stop altering co_awaits converted to void

2024-08-28 Thread Arsen Arsenović
This patch fixes a gcc-15 regression (PR116502) and an inelegance in my earlier patch related to converting CO_AWAIT_EXPRs to void. This wasn't noticed anywhere AFAICT, but it was a bit unfortunate. The other two patches fix an actual regression as well as provide handling for converting INDIRECT

[PATCH 2/3] c++: handle CO_AWAIT_EXPRs wrapped in INDIRECT_REF

2024-08-28 Thread Arsen Arsenović
Currently, GCC misses a diagnostic when discarding a CO_AWAIT_EXPR resulting in a reference type, because such an expression is wrapped in an INDIRECT_REF in finish_co_await_expr. Similar handling is necessary for CALL_EXPRs, so extend it to also handle CO_AWAIT_EXPR. gcc/cp/ChangeLog: *

[PATCH 3/3] c++/coro: prevent ICV_STATEMENT diagnostics in temp promotion [PR116502]

2024-08-28 Thread Arsen Arsenović
Hm, maybe-unused-1.C should be moved into the previous patch. Could do before pushing. -- >8 -- If such a diagnostic is necessary, it has already been emitted, otherwise, it is not correct and emitting it here is inactionable by the user, and bogus. PR c++/116502 gcc/cp/C

Ping: [PATCH] warn-access: ignore template parameters when matching operator new/delete [PR109224]

2024-08-28 Thread Arsen Arsenović
Hi, Arsen Arsenović writes: >> The && should not be left of the =; if the initializer needs to span multiple >> lines, it's usually best to wrap it in (). > > Okay - done. [...] >>> + foo::operator delete (new (123, true) foo, 123, true); >>&g

Re: [PATCH 1/3] c++: stop altering co_awaits converted to void

2024-08-28 Thread Arsen Arsenović
Jason Merrill writes: > On 8/28/24 3:59 PM, Arsen Arsenović wrote: >> This patch fixes a gcc-15 regression (PR116502) and an inelegance in my >> earlier patch related to converting CO_AWAIT_EXPRs to void. >> This wasn't noticed anywhere AFAICT, but it was a bit unf

Ping^2: [PATCH 0/3] Recover in-tree libiconv build support

2024-06-15 Thread Arsen Arsenović
Hi! Another gentle ping on this patch series. Could it be merged into trunk? TIA, have a lovely day! -- Arsen Arsenović signature.asc Description: PGP signature

[pushed] cp/coroutines: add a test for PR c++/103953

2024-07-23 Thread Arsen Arsenović
This PR seems to have been fixed by a fix for a seemingly unrelated PR. Lets add a regression test to make sure it stays fixed. PR c++/103953 - Leak of coroutine return object PR c++/103953 gcc/testsuite/ChangeLog: * g++.dg/coroutines/torture/pr103953.C: New test. Reviewed-by:

[PATCH 1/2] cp/coroutines: do not rewrite parameters in unevaluated contexts

2024-07-23 Thread Arsen Arsenović
It is possible to use parameters of a parent function of a lambda in unevaluated contexts without capturing them. By not capturing them, we work around the usual mechanism we use to prevent rewriting captured parameters. Prevent this by simply skipping rewrites in unevaluated contexts. Those won

[PATCH 2/2] cp+coroutines: teach convert_to_void to diagnose discarded co_awaits

2024-07-23 Thread Arsen Arsenović
co_await expressions are nearly calls to Awaitable::await_resume, and, as such, should inherit its nodiscard. A discarded co_await expression should, hence, act as if its call to await_resume was discarded. CO_AWAIT_EXPR trees do conveniently contain the expression for calling await_resume in the

Re: [PATCH 2/2] cp+coroutines: teach convert_to_void to diagnose discarded co_awaits

2024-07-24 Thread Arsen Arsenović
Hi Jason, Thanks for the review. Jason Merrill writes: > On 7/23/24 7:41 PM, Arsen Arsenović wrote: >> co_await expressions are nearly calls to Awaitable::await_resume, and, >> as such, should inherit its nodiscard. A discarded co_await expression >> should, hence,

Re: [PATCH 2/2] cp+coroutines: teach convert_to_void to diagnose discarded co_awaits

2024-07-24 Thread Arsen Arsenović
EXPR. When we discard a CO_AWAIT_EXPR, we can also just discard +the await_resume() call conveniently embedded within it. This results +in a [[nodiscard]] diagnostic that the PR noted was missing. gcc/cp/ChangeLog: Thanks again, have a lovely evening. -- Arsen Ar

[PATCH 1/2] c++: fix ICE on FUNCTION_DECLs inside coroutines [PR115906]

2024-07-29 Thread Arsen Arsenović
When register_local_var_uses iterates a BIND_EXPRs BIND_EXPR_VARS, it fails to account for the fact that FUNCTION_DECLs might be present, and later passes it to DECL_HAS_VALUE_EXPR_P. This leads to a tree check failure in DECL_HAS_VALUE_EXPR_P: tree check: expected var_decl or parm_decl or resu

[PATCH 2/2] c++: diagnose usage of co_await and co_yield in default args [PR115906]

2024-07-29 Thread Arsen Arsenović
This is a partial fix for PR115906. Per [expr.await] 2s3, "An await-expression shall not appear in a default argument ([dcl.fct.default])". This patch introduces the diagnostic in that case, and in the case of a co_yield (as co_yield is defined in terms of co_await, so prerequisites of co_await h

[PATCH] c++: make BUILTIN_SOURCE_LOCATION follow DECL_RAMP_FN

2024-07-29 Thread Arsen Arsenović
This fixes the value of current_function in compiler generated coroutine code. PR c++/110855 - std::source_location doesn't work with C++20 coroutine gcc/cp/ChangeLog: PR c++/110855 * cp-gimplify.cc (fold_builtin_source_location): Use the name of the DECL_RAMP_FN of the c

Re: [PATCH 1/2] c++: fix ICE on FUNCTION_DECLs inside coroutines [PR115906]

2024-07-29 Thread Arsen Arsenović
Jason Merrill writes: > On 7/29/24 8:18 AM, Arsen Arsenović wrote: >> When register_local_var_uses iterates a BIND_EXPRs BIND_EXPR_VARS, it >> fails to account for the fact that FUNCTION_DECLs might be present, and >> later passes it to DECL_HAS_VALUE_EXPR_P. This

Re: [PATCH] c++: make BUILTIN_SOURCE_LOCATION follow DECL_RAMP_FN

2024-07-29 Thread Arsen Arsenović
Jason Merrill writes: > I don't know what all-caps BUILTIN_SOURCE_LOCATION refers to specifically (it > doesn't match CP_BUILT_IN_SOURCE_LOCATION, for instance); let's just refer to > source_location. ACK - will reword. > On 7/29/24 8:20 AM, Arsen Arsenović wrote:

[PATCH] c++/coroutines: only defer expanding co_{await, return, yield} if dependent [PR112341]

2024-07-31 Thread Arsen Arsenović
Tested on x86_64-pc-linux-gnu. OK for trunk? TIA, have a lovely day. -- >8 -- By doing so, we can get diagnostics in template decls when we know we can. For instance, in the following: awaitable g(); template task f() { co_await g(); co_yield 1; co_return "fo

[PATCH] dir-locals: apply our C settings in C++ also

2024-07-31 Thread Arsen Arsenović
We haven't been applying our settings to our C++. This patch fixes that. Sadly, it seems that the only documented way to apply settings to multiple modes is to repeat them. I thought that we can provide a list of modes to apply, but that seems to not be the case (even thought it happened to work

Re: [PATCH] c++/coroutines: only defer expanding co_{await,return,yield} if dependent [PR112341]

2024-07-31 Thread Arsen Arsenović
Jason Merrill writes: > On 7/31/24 6:54 AM, Arsen Arsenović wrote: >> Tested on x86_64-pc-linux-gnu. OK for trunk? >> TIA, have a lovely day. >> -- >8 -- >> By doing so, we can get diagnostics in template decls when we know we >>

[PATCH v2] c++/coroutines: only defer expanding co_{await,return,yield} if dependent [PR112341]

2024-07-31 Thread Arsen Arsenović
Okay, I've reworked it, and it built and passed coroutine tests. Regstrapping overnight. Is the following OK with you? -- >8 -- By doing so, we can get diagnostics in template decls when we know we can. For instance, in the following: awaitable g(); template task f() {

[PATCH] c++/coroutines: check for members we use in handle_types [PR105475]

2024-08-01 Thread Arsen Arsenović
Tested on x86_64-pc-linux-gnu. OK for trunk? TIA, have a lovely day. -- >8 -- Currently, it is possible to ICE GCC by giving it sufficiently broken code, where sufficiently broken means a std::coroutine_handle missing a default on the promise_type template argument, and missing me

[PATCH] c++/coroutines: fix actor cases not being added to the current switch [PR109867]

2024-08-01 Thread Arsen Arsenović
Tested on x86_64-pc-linux-gnu, no regression. OK for trunk? TIA, have a lovely day. -- >8 -- Previously, we were building and inserting case_labels manually, which lead to them not being added into the currently running switch via c_add_case_label. This lead to false diagnostics

Re: [PATCH] c++/coroutines: fix actor cases not being added to the current switch [PR109867]

2024-08-01 Thread Arsen Arsenović
Jason Merrill writes: > On 8/1/24 12:48 PM, Arsen Arsenović wrote: >> Tested on x86_64-pc-linux-gnu, no regression. >> OK for trunk? >> TIA, have a lovely day. >> -- >8 -- >> Previously, we were building and inserting case_labels manually, w

[PATCH v2] c++/coroutines: check for members we use in handle_types [PR105475]

2024-08-02 Thread Arsen Arsenović
Jason Merrill writes: > I don't think these names need to mention "baselink", but I'm not strongly > against it. It doesn't fit with the rest of the codebase either, so I'll rename them. > A few other tweaks below: > >> @@ -90,6 +90,7 @@ struct GTY((for_user)) coroutine_info >> tree self_h_

  1   2   3   4   >