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
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.
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
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
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
"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
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
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
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
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
-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
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
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.
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
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
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
/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ć
Evening folks,
Hope you had wonderful holidays.
Gentle ping on this patch.
Have a lovely night!
--
Arsen Arsenović
signature.asc
Description: PGP signature
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
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
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
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
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
Hi,
Ping on this patch.
TIA, have a lovely day and happy holidays!
--
Arsen Arsenović
signature.asc
Description: PGP signature
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>
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/
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
;ve added it to my subject, hopefully that works.
Have a lovely day!
--
Arsen Arsenović
signature.asc
Description: PGP signature
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
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
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
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,
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
Jonathan Wakely writes:
> OK
Thanks, pushed (tests did pass).
Have a lovely night.
--
Arsen Arsenović
signature.asc
Description: PGP signature
o have a link-time error here if missing?
Have a lovely night.
--
Arsen Arsenović
signature.asc
Description: PGP signature
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 ++
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
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
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
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
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
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
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
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:
>
>>
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
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)
>
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
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
>> >>
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
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
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
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:
>&
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
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
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
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
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
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
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
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
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
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
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
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
g the wrong people, unsure who's best to
ping here)
--
Arsen Arsenović
signature.asc
Description: PGP signature
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
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
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.
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
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
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
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
g_assert if you prefer. No strong feelings in this instance.
Thanks.
--
Arsen Arsenović
signature.asc
Description: PGP signature
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
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
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
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
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:
*
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
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
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
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
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:
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
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
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,
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
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
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
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
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
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:
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
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
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
>>
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()
{
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
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
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
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 - 100 of 327 matches
Mail list logo