> On 13 Sep 2025, at 13:55, Iain Sandoe wrote:
>
> … this is mostly darwin-local .. but not completely, so an ack would be great
> thanks
> Iain
>
>> On 4 Sep 2025, at 09:48, Iain Sandoe wrote:
>>
>> Hello Rainer,
>>
>>
>> On 4 Sep
not,
whether they are evaluated.
* contracts.h (contract_ignored_p, contract_evaluated_p): New.
Signed-off-by: Iain Sandoe
---
gcc/cp/constexpr.cc | 5 ++---
gcc/cp/contracts.h | 15 +++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/gcc/cp/constexpr.cc b/gcc
m: Add second source.
* objc.dg/special/load-category-2.m: Likewise.
* objc.dg/special/load-category-3.m: Likewise.
* objc.dg/special/unclaimed-category-1.m: Likewise.
* objc.dg/special/special.exp: Rewrite to make use of generic
testsuite facilities.
Signed
* libgnarl/s-osinte__darwin.adb: Ensure that
Interfaces.C is referenced.
Signed-off-by: Iain Sandoe
---
gcc/ada/libgnarl/s-osinte__darwin.adb | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.adb
b/gcc/ada/libgnarl/s-osinte__dar
rnshaw (lists)
>>>> Sent: Thursday, September 11, 2025 1:24 AM
>>>>
>>>> On 10/09/2025 14:06, Jeff Law wrote:
>>>>>
>>>>>
>>>>> On 9/10/25 4:23 AM, Iain Sandoe wrote:
>>>>>
>>>>>> Now we h
… this is mostly darwin-local .. but not completely, so an ack would be great
thanks
Iain
> On 4 Sep 2025, at 09:48, Iain Sandoe wrote:
>
> Hello Rainer,
>
>
> On 4 Sep 2025, at 07:43, Iain Sandoe wrote:
>
>> Tested on x86_64-darwin, powerpc64le-linux, OK for tr
> On 10 Sep 2025, at 14:06, Jeff Law wrote:
> ]
> On 9/10/25 4:23 AM, Iain Sandoe wrote:
>
>> Now we have this facility - and it is firing on my testboxes (since i use
>> this
>> script to post-process [per .sum file for stability]) - I looked through a
>&
> On 10 Sep 2025, at 13:42, Christophe Lyon wrote:
>
> On Wed, 10 Sept 2025 at 12:23, Iain Sandoe wrote:
>>
>>
>>
>>> On 10 Sep 2025, at 11:12, Richard Earnshaw (lists)
>>> wrote:
>>>
>>> On 10/09/2025 10:54, Christophe
> On 10 Sep 2025, at 11:12, Richard Earnshaw (lists)
> wrote:
>
> On 10/09/2025 10:54, Christophe Lyon wrote:
>> If the results include several configurations (schedule of
>> variations), do not report summary lines as duplicates. Indeed with
>> several configurations, it's likely that the r
> On 9 Sep 2025, at 17:46, Ville Voutilainen
> wrote:
>
> On Tue, 9 Sept 2025 at 19:20, Michael Matz wrote:
>
>> I see. Logging would be a side-effect that has to be retained. There is
>> no correct compiler that could validly elide such call to fail(). Again,
>> the argument is simple:
> On 9 Sep 2025, at 15:57, Jakub Jelinek wrote:
>
> On Tue, Sep 09, 2025 at 03:30:07PM +0200, Michael Matz wrote:
>> But it would also be an invalid transformation of the compiler. So I
>> can't quite see the worry. The second check ("*p > 5") is conditional on
>> the first one:
>>
>> if
> On 8 Sep 2025, at 15:53, Richard Biener wrote:
>
>
>
>> Am 08.09.2025 um 16:28 schrieb Iain Sandoe :
>>
>>
>>
>>>> On 8 Sep 2025, at 15:20, Iain Sandoe wrote:
>>>>
>>>>
>>>>
>>>>>
hi Iain
> On 8 Sep 2025, at 20:24, Iain Buclaw wrote:
>
> Excerpts from Iain Buclaw's message of September 8, 2025 6:27 pm:
>> Excerpts from Iain Sandoe's message of September 6, 2025 9:27 pm:
>>> Tested on x86_64-darwin21 (has __fork) and x86_64-darwin10 (does not).
>>> OK for trunk?
>>> thanks
> On 8 Sep 2025, at 15:01, Richard Biener wrote:
>
> On Mon, Sep 8, 2025 at 3:54 PM Iain Sandoe wrote:
>>
>>
>>
>>> On 8 Sep 2025, at 14:40, Richard Biener wrote:
>>>
>>> On Mon, Sep 8, 2025 at 3:16 PM Jakub Jelinek wrote:
>&g
> On 8 Sep 2025, at 15:20, Iain Sandoe wrote:
>
>
>
>> On 8 Sep 2025, at 15:05, Jakub Jelinek wrote:
>>
>> On Mon, Sep 08, 2025 at 02:54:18PM +0100, Iain Sandoe wrote:
>>> (for pre-conditions) they lower to a series of statements like
>>>
> On 8 Sep 2025, at 15:05, Jakub Jelinek wrote:
>
> On Mon, Sep 08, 2025 at 02:54:18PM +0100, Iain Sandoe wrote:
>> (for pre-conditions) they lower to a series of statements like
>> if (some check fails)
>> handle the contract violation
>> if (some o
> On 8 Sep 2025, at 14:40, Richard Biener wrote:
>
> On Mon, Sep 8, 2025 at 3:16 PM Jakub Jelinek wrote:
>>
>> On Mon, Sep 08, 2025 at 03:05:58PM +0200, Richard Biener wrote:
>>> is reduced to __builtin_abort () (for C++). That's because it's
>>> __builtin_unreachable () at the end. I am n
> On 8 Sep 2025, at 12:46, Richard Biener wrote:
>
> On Mon, Sep 8, 2025 at 1:04 PM Ville Voutilainen
> wrote:
>>
>> On Mon, 8 Sept 2025 at 13:54, Richard Biener
>> wrote:
>>> That said, I see no point in std::observable_checkpoint to be represented
>>> in the IL at all if all it is is to
> On 8 Sep 2025, at 08:57, Richard Biener wrote:
>
> On Sun, Sep 7, 2025 at 9:43 PM Iain Sandoe wrote:
>>
>> Thanks for the helpful input from reviewers;
>>
>> This version has 4 changes from v1:
>> 1. removes some unrelated changes.
>> 2. As
its/version.def: Add observable_checkpoint at present
allowed from C++11.
* include/bits/version.h: Regenerate.
* include/std/utility: Add std::observable_checkpoint().
Signed-off-by: Iain Sandoe
---
libstdc++-v3/include/bits/version.def | 9 +
libstdc++-v3/include/b
to the builtin.
* cxxapi-data.csv: Add observable_checkpoint to .
* std-name-hint.gperf: Add observable_checkpoint to .
* std-name-hint.h: Regenerate.
gcc/testsuite/ChangeLog:
* g++.dg/cpp26/observable-checkpoint.C: New test.
Signed-off-by:
> On 5 Sep 2025, at 08:59, Jakub Jelinek wrote:
>
> On Fri, Sep 05, 2025 at 08:40:27AM +0100, Iain Sandoe wrote:
>>> On 5 Sep 2025, at 08:22, Jakub Jelinek wrote:
>>>
>>> On Fri, Sep 05, 2025 at 08:35:43AM +0200, Richard Biener wrote:
>>>>>
Hi Simon,
> On 6 Sep 2025, at 16:33, Simon Martin wrote:
>
> The build is broken on MacOS since r16-3581-g1da3c4d90e678a because
> ipa-inline-transform.cc uses std::max but does not include .
Which only seems to fire when the bootstrap compiler is clang (which I do
not often do - since I’m usua
> On 5 Sep 2025, at 10:15, Jakub Jelinek wrote:
>
> On Fri, Sep 05, 2025 at 11:07:01AM +0200, Florian Weimer wrote:
>>> +int x = 0;
>>> +
>>> +int
>>> +here_b_ub ()
>>> +{
>>> + // missing return triggers UB (we must ignore the warning for this
>>> test).
>>> +}
>>> +
>>> +int
>>> +main ()
ite/Makefile.in: Regenerate.
Signed-off-by: Iain Sandoe
---
libphobos/Makefile.in| 1 +
libphobos/configure | 12 ++--
libphobos/libdruntime/Makefile.in| 1 +
.../core/internal/gc/impl/conservative/g
> On 5 Sep 2025, at 17:45, Iain Buclaw wrote:
>
> Excerpts from Iain Sandoe's message of September 3, 2025 9:59 pm:
>>
>>
>>> On 3 Sep 2025, at 20:54, Iain Buclaw wrote:
>>>
>>> Excerpts from Iain Buclaw's message of September 3, 2025 9:19 pm:
Excerpts from Rainer Orth's message of Se
> On 5 Sep 2025, at 11:09, Jonathan Wakely wrote:
>
> On Thu, 4 Sept 2025 at 19:03, Jonathan Wakely wrote:
>>
>>
>>
>> On Thu, 4 Sept 2025, 18:02 Iain Sandoe, wrote:
>>>
>>> The facility (with the original shorter name) has been in use
> On 5 Sep 2025, at 10:46, Richard Biener wrote:
>
> On Fri, Sep 5, 2025 at 10:07 AM Jakub Jelinek wrote:
>>
>> On Fri, Sep 05, 2025 at 08:51:10AM +0100, Iain Sandoe wrote:
>>>> BARRIER in RTL is like __builtin_unreachable (), so the observable
>>>&
> On 5 Sep 2025, at 10:07, Florian Weimer wrote:
>
> * Iain Sandoe:
>
>> diff --git a/gcc/testsuite/g++.dg/cpp26/observable-checkpoint.C
>> b/gcc/testsuite/g++.dg/cpp26/observable-checkpoint.C
>> new file mode 100644
>> index 000..886cda7ae33
>
> On 5 Sep 2025, at 08:46, Jakub Jelinek wrote:
>
> On Fri, Sep 05, 2025 at 09:37:42AM +0200, Richard Biener wrote:
>> Yes. I'll note that while we fixed some issues with code motion across
>> possible exit points we do not have good means of testing for invalid
>> code motion of UB invoking
Hi Jakub
I apologise for the additional code (related to an earlier experiment with
a front-end-only builtin) - rushing to post - updated to follow.
> On 5 Sep 2025, at 08:22, Jakub Jelinek wrote:
>
> On Fri, Sep 05, 2025 at 08:35:43AM +0200, Richard Biener wrote:
>>> i.e. keep it as a call to
int().
Signed-off-by: Iain Sandoe
---
libstdc++-v3/include/bits/version.h | 10 ++
libstdc++-v3/include/std/utility| 19 +++
2 files changed, 29 insertions(+)
diff --git a/libstdc++-v3/include/bits/version.h
b/libstdc++-v3/include/bits/version.h
index c7569f42
fix_expression): Handle
__builtin_observable_checkpoint.
* std-name-hint.gperf: Add observable_checkpoint to .
* std-name-hint.h: Regenerate.
gcc/testsuite/ChangeLog:
* g++.dg/cpp26/observable-checkpoint.C: New test.
Signed-off-by: Iain Sando
(i.e. they are observable already) and so we have
not added additional checkpoints there.
This patch (with the original shorter name) has been in use on the contracts
development branch for almost a year, and has been tested in isolation on
x86_64-darwin and powerpc64le-linux.
Iain Sando
rpose of this test, omit them.
PR testsuite/112728
gcc/testsuite/ChangeLog:
* gcc.dg/scantest-lto.c: Omit unwind frames.
Signed-off-by: Iain Sandoe
---
gcc/testsuite/gcc.dg/scantest-lto.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/testsuite/gcc.dg/scantest-lto.c
b/
Hello Rainer,
On 4 Sep 2025, at 07:43, Iain Sandoe wrote:
>Tested on x86_64-darwin, powerpc64le-linux, OK for trunk?
oops attached the wrong patch - correct one here:
--- 8< ---
This recognises the .section __GNU_LTO, segment prefix used by Darwin
to skip LTO sections there and split
ite/ChangeLog:
* lib/scanasm.exp (remove_lto_sections): New.
Signed-off-by: Iain Sandoe
---
gcc/testsuite/lib/scanasm.exp | 33 -
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
in
> On 3 Sep 2025, at 20:54, Iain Buclaw wrote:
>
> Excerpts from Iain Buclaw's message of September 3, 2025 9:19 pm:
>> Excerpts from Rainer Orth's message of September 3, 2025 10:20 am:
>
> I regularly (but not always) see timeouts on Solaris, both on sparc and
> x86:
>
>
> On 3 Sep 2025, at 09:20, Rainer Orth wrote:
>
> Hi Iain,
>
>>> On 2 Sep 2025, at 15:25, Rainer Orth wrote:
>>
> What about Solaris and *BSD. Are there any outstanding PRs for druntime
> hanging
> on those ports too? Or is specific to Darwin (or possibly emutls?).
bos/ChangeLog:
* libdruntime/core/thread/osthread.d: Use PPC_THREAD_STATE
instead of PPC_THREAD_STATE32.
Signed-off-by: Iain Sandoe
---
libphobos/libdruntime/core/thread/osthread.d | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libphobos/libdruntime/core/thr
Hi Iain
> On 2 Sep 2025, at 15:25, Rainer Orth wrote:
>>> What about Solaris and *BSD. Are there any outstanding PRs for druntime
>>> hanging
>>> on those ports too? Or is specific to Darwin (or possibly emutls?).
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103944
>>
>> says darwin a
cc-ing Rainer
> On 2 Sep 2025, at 14:47, Iain Buclaw wrote:
>
> Excerpts from Iain Sandoe's message of September 1, 2025 6:23 pm:
>> In use for 2 years or so on Darwin branches, OK for trunk?
>> thanks
>> Iain
>>
>> --- 8< ---
>>
>> The collect fork version has two issues on Darwin, first that
ics/logging.h (log_param_location_t): Cast
location_t value to fmt_size_t.
Signed-off-by: Iain Sandoe
---
gcc/diagnostics/logging.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/diagnostics/logging.h b/gcc/diagnostics/logging.h
index 2ce0166aad5..34ca95be13b 100644
--- a/gc
y to use .cfi_ which will cause later
and hard-to-diagnose issues.
Until we have this resolved, force cfi instruction use off for
Darwin.
gcc/ChangeLog:
* configure: Regenerate.
* configure.ac: Do not claim cfi instruction support even
if the assembler has it.
Signed-off-
In use for 2 years or so on Darwin branches, OK for trunk?
thanks
Iain
--- 8< ---
The collect fork version has two issues on Darwin, first that it seems
to hang quite frequently and second that ___fork() is not available on
all OS versions. The remedy here is to avoid its use, for now.
---
...
cts,
get_contract_semantic, set_contract_semantic): Move to contracts.h.
* contracts.h (get_contract_role, add_contract_role,
validate_contract_role, setup_default_contract_role,
lookup_concrete_semantic, get_default_contract_role): Remove.
Signed-off-by: Iain Sandoe
---
gcc/cp/constexpr
> On 29 Aug 2025, at 15:12, Rainer Orth wrote:
>
> Hi Jonathan,
>
>> The src/c++26/debugging.cc file defines a global volatile int which can
>> be set by debuggers to indicate when they are attached and detached from
>> a running process. This allows std::is_debugger_present() to give a
>> re
> On 29 Aug 2025, at 15:55, Jonathan Wakely wrote:
>
> On Fri, 29 Aug 2025 at 15:19, Rainer Orth
> wrote:
>>
>> Hi Jonathan,
>>>
The src/c++26/debugging.cc file defines a global volatile int which can
be set by debuggers to indicate when they are attached and detached from
> On 28 Aug 2025, at 16:38, Jakub Jelinek wrote:
>
> On Thu, Aug 28, 2025 at 04:50:15PM +0200, Jakub Jelinek wrote:
>> On Thu, Aug 28, 2025 at 04:24:46PM +0200, Richard Biener wrote:
>>> That said, if we ever want to improve on this (and solve the redundant
>>> store elimination issue), we nee
Hi FX,
Sorry this slipped of my radar...
> On 15 Aug 2025, at 00:02, FX Coudert wrote:
>
> Hi Iain,
>
> Gentle ping on that one. It would allow to remove one of the last fixincludes
> remaining on modern darwin.
Yes OK,
great - the more we can remove the better.
Iain
>
> FX
>
>
>
>> Le
Tested on x86_64, i686 Darwin, pushed to trunk, thanks
Iain
--- 8< ---
Newer linker support an option to disable deduplication of entities.
This speeds up linking and can improve debug experience. Adopting the
same criteria as clang in adding the option.
Signed-off-by: Iain Sandoe
ded
string labels.
* g++.dg/torture/darwin-cfstring-3.C: Likewise.
Signed-off-by: Iain Sandoe
---
gcc/config/darwin-sections.def| 7
gcc/config/darwin.cc | 39 ---
.../g++.dg/torture/darwin-cfstring-3.C|
Hi Patrick,
> On 13 Aug 2025, at 16:26, Patrick Palka wrote:
>
> On Sun, 10 Aug 2025, Jason Merrill wrote:
>
>> On 8/8/25 1:27 PM, Patrick Palka wrote:
>>> Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look OK
>>> for trunk?
>>>
>>> -- >8 --
>>>
>>> At some point these flag sta
Hi Iain,
> On 11 Aug 2025, at 17:36, Iain Buclaw wrote:
>
> Excerpts from Iain Sandoe's message of August 11, 2025 12:33 am:
>> Tested on x86_64-darwin (i.e. that the string is now seen as a regular
> No preference over whether you go for `length + 1` or
> build_string_literal, both are OK.
T
ses where build_string() is used, it seems that some of them are
not null-terminated.
gcc/d/ChangeLog:
* d-codegen.cc (build_filename_from_loc): Account for the
terminating null in the string length passed to build_string().
Signed-off-by: Iain Sandoe
---
gcc/d/d-codegen.cc
-visible.
(darwin_use_anchors_for_symbol_p): Disallow anchoring on
symbols that must be linker-visible (or external), even
if the definitions are in this TU.
Signed-off-by: Iain Sandoe
---
gcc/config/darwin.cc | 38 +-
1 file changed, 33 in
ary
symbol generated.
gcc/ChangeLog:
* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): New
entry for LANCHOR.
Signed-off-by: Iain Sandoe
---
gcc/config/darwin.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 9b9a3fe4038..ccfe01ea
> On 24 Jul 2025, at 17:52, Iain Sandoe wrote:
>> On 24 Jul 2025, at 17:46, Jason Merrill wrote:
>>
>> On 7/24/25 12:39 PM, Iain Sandoe wrote:
>>>> On 24 Jul 2025, at 17:31, Jason Merrill wrote:
>>>>
>>>> On 7/24/25 10:24 AM, Iain S
> On 24 Jul 2025, at 17:46, Jason Merrill wrote:
>
> On 7/24/25 12:39 PM, Iain Sandoe wrote:
>>> On 24 Jul 2025, at 17:31, Jason Merrill wrote:
>>>
>>> On 7/24/25 10:24 AM, Iain Sandoe wrote:
>>>>>>> We should check (gcc_checking_asse
> On 24 Jul 2025, at 17:31, Jason Merrill wrote:
>
> On 7/24/25 10:24 AM, Iain Sandoe wrote:
>>>>> We should check (gcc_checking_assert?) that NRVO works in the case where
>>>>> we expect it to, rather than let NRVO failures show up as wrong-code.
&g
r the return
expressions for the 'normal' and 'allocation failed' cases so that
NRV constraints are met. Add checking asserts that we have NRV
in expected cases.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/torture/pr121219.C: New test.
Signed-o
checking asserts that we have NRV
in expected cases.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/torture/pr121219.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 77 +++--
.../g++.dg/coroutines/torture/pr121219.C | 149 ++
re/pr121219.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 77 ++---
.../g++.dg/coroutines/torture/pr121219.C | 147 ++
2 files changed, 201 insertions(+), 23 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/coroutines/
Hi Andre
> On 23 Jul 2025, at 08:41, Andre Vehreschild wrote:
> thank you for testing. I know already about the missing include. It
> is also needed on FreeBSD. What's new is the . Is that really
> needed or is it transitively included by ? Could you check by, for
> example, just grepping signa
Hi Andre
It would be very helpful if there were such a thing as a “hello-coarrays.fxx”
code for
those of us who do not have existing installations of mpi &c. aand limited time
to
so tests…
… experiments so far - below
thanks
Iain
> >> > > We like everyone to test the new caf_shmem library an
Hi FX,
sorry for the delay ...
> On 14 Jul 2025, at 11:17, FX Coudert wrote:
>
> Hello,
>
> darwin25 will be named macOS 26 (codename Tahoe). This is a change from
> darwin24, which was macOS 15. We need to adapt the driver to this new
> numbering scheme.
>
> Tested by me on aarch64-darwin25
Hi Rainer,
> On 30 Jun 2025, at 12:58, Rainer Orth wrote:
>
> I recently noticed that libphobos isn't enable by default on 32-bit
> Darwin with the target triples determined by config.guess. E.g. on a
> Darwin 15 system the target triple is something like
> i386-apple-darwin15.6.0 while configu
564 introduced. Fixed by
making the conditional encompass both the brace and the identifier.
libstdc++-v3/ChangeLog:
* config/abi/pre/gnu.ver: Keep the closing brace of the
CXXABI_1.3.17 symbol group together with the identifier
for the inherited group.
Signed-off-by: Iain San
> On 25 Jun 2025, at 15:17, Martin Jambor wrote:
>
> Hi,
>
> when building GCC with clang, it warns that the private member suffix
> in class cp_coroutine_transform (defined in gcc/cp/coroutines.h) is
> not used which indeed looks like it is the case. This patch therefore
> removes it.
>
>
e/pr95615-06-initial-await-resume-throws.C:
New test.
* g++.dg/coroutines/torture/pr95615-07-body-throws.C: New test.
*
g++.dg/coroutines/torture/pr95615-08-initial-suspend-throws-uhe-throws.C: New
test.
* g++.dg/coroutines/torture/pr95615-09-body-throws-uhe-throws.
> On 17 Jun 2025, at 06:02, Jason Merrill wrote:
>
> On 6/16/25 4:00 PM, Iain Sandoe wrote:
>> Hi Jason
>>> On 11 Jun 2025, at 23:50, Jason Merrill wrote:
>>>
>>> On 6/9/25 4:12 PM, Iain Sandoe wrote:
>>>> There was some discussion of
uhe-throws.C: New
test.
* g++.dg/coroutines/torture/pr95615-09-body-throws-uhe-throws.C: New
test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 265 +-
.../coroutines/{ => torture}/pr115908.C | 9 +-
.../torture/pr95615-00-no
Hi Jason
> On 11 Jun 2025, at 23:50, Jason Merrill wrote:
>
> On 6/9/25 4:12 PM, Iain Sandoe wrote:
>> There was some discussion of this in the PR116775 comments. In the
>> end I have matched what clang does in this circumstance, since that
>> seems reasona
orture/pr95615-07-body-throws.C: New test.
*
g++.dg/coroutines/torture/pr95615-08-initial-suspend-throws-uhe-throws.C: New
test.
* g++.dg/coroutines/torture/pr95615-09-body-throws-uhe-throws.C: New
test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc
d a temporary coroutine
handle.
(build_actor_fn): Remove reference to the frame copy of the
coroutine handle.
(cp_coroutine_transform::wrap_original_function_body): Remove
reference to the frame copy of the coroutine handle.
Signed-off-by: Iain Sandoe
---
gcc
not allow in an
unevaluated context.
(finish_co_yield_expr): Likewise.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/unevaluated.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 12 +
gcc/testsuite/g++.dg/coroutines/unev
nd diagnostics line number change.
* g++.dg/coroutines/coro1-missing-await-method.C: Likewise.
* g++.dg/coroutines/pr104051.C: Likewise.
* g++.dg/coroutines/pr120273.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 22 ---
> On 11 Jun 2025, at 17:51, Jason Merrill wrote:
>
> On 6/9/25 3:49 PM, Iain Sandoe wrote:
>> Hi Jason,
>>>> + error_at (loc, "%sawaitable type %qT is not a structure",
>>>> + extra, o_type);
>>> Generally identifiers s
> On 11 Jun 2025, at 17:53, Jason Merrill wrote:
>
> On 6/9/25 3:54 PM, Iain Sandoe wrote:
>> I was planning to apply this as obvious - but it is needed for the
>> next patch to be posted - so noting here now. I discussed with one
>> of the original coroutines pape
> On 11 Jun 2025, at 15:17, FX Coudert wrote:
>
> Hi,
>
>> I am just wondering if the order in Makefile.am as it is now is needed. E.g.
>> pack_* follows pow_* and some other are not lexicographicaly ordered. Are
>> there
>> dependencies that necessitate this? Or could you just sort them, so
/cp/ChangeLog:
* coroutines.cc (build_actor_fn): Set can_throw.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index 18c0a4812c4..d82fa46f208 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc
Hi Jason,
There was some discussion of this in the PR116775 comments. In the
end I have matched what clang does in this circumstance, since that
seems reasonable - and we may ignore the attributes as needed.
tested on x86-64-darwin, powerpc64le-linux, OK for trunk?
thanks
Iain
--- 8< ---
Here we
hat contains one or more
await expressions, then replace the call with its result
and discard the unevaluated operand.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/pr116775.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc |
ated.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 12 ++
gcc/cp/parser.cc | 2 ++
gcc/testsuite/g++.dg/coroutines/unevaluated.C | 24 +++
3 files changed, 38 insertions(+)
create mode 1006
/pr95615-08-initial-suspend-throws-uhe-throws.C: New
test.
* g++.dg/coroutines/torture/pr95615-09-body-throws-uhe-throws.C: New
test.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 251 ++
.../coroutines/{ => torture}/pr115908.C
* g++.dg/coroutines/coro1-missing-await-method.C: Adjust for
improved diagnostics.
* g++.dg/coroutines/pr104051.C: Move to...
* g++.dg/coroutines/pr104051-0.C: ...here.
* g++.dg/coroutines/pr104051-1.C: New test.
Signed-off-by: Iain Sandoe
---
missing-final-suspend.C: Adjust for
changed final suspend diagnostics line number change.
* g++.dg/coroutines/coro1-missing-await-method.C: Likewise.
* g++.dg/coroutines/pr104051.C: Likewise.
* g++.dg/coroutines/pr120273.C: New test.
Signed-off-by: Iain Sandoe
> On 3 Jun 2025, at 17:03, Jason Merrill wrote:
>
> On 5/29/25 8:29 AM, Iain Sandoe wrote:
>> To trigger this involves somewhat tortuous pathways through the
>> c++ requires code. I did consider the alternative of putting in
>> an assert and then checking every ca
* g++.dg/coroutines/pr120495.C: New test.
* g++.dg/pr115605.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/pt.cc | 30 +++-
gcc/testsuite/g++.dg/coroutines/pr120495.C | 55 ++
gcc/testsuite/g++.dg/pr115605.C| 10
> On 3 Jun 2025, at 02:36, Jason Merrill wrote:
>
> On 6/2/25 5:27 PM, Iain Sandoe wrote:
>>> On 2 Jun 2025, at 21:17, Jason Merrill wrote:
>>>
>>> On 6/1/25 3:30 AM, Iain Sandoe wrote:
>>>> Updated. I realised we no longer need to refer to
provided.
PR c++/120495
PR c++/115605
gcc/cp/ChangeLog:
* pt.cc (lookup_template_class): Honour provided namespace contexts
when looking up class templates.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/pr120495.C: New test.
* g++.dg/pr115605.C: New t
ass templates.
gcc/testsuite/ChangeLog:
* g++.dg/coroutines/pr120495.C: New test.
* g++.dg/pr115605.C: New test.
Signed-off-by: Iain Sandoe
---
gcc/cp/pt.cc | 3 +-
gcc/testsuite/g++.dg/coroutines/pr120495.C | 55 ++
gcc/testsu
> On 2 Jun 2025, at 21:17, Jason Merrill wrote:
>
> On 6/1/25 3:30 AM, Iain Sandoe wrote:
>> Updated. I realised we no longer need to refer to
>> initial_await_resume_called in the ramp at all, v2 removes the setting
>> of the variable from there and puts it
> On 2 Jun 2025, at 17:10, Andrew Pinski wrote:
>
> On Mon, Jun 2, 2025 at 8:17 AM Jason Merrill wrote:
>>
>> On 6/2/25 5:13 AM, Iain Sandoe wrote:
>>> Tested on x86_64-darwin, OK for trunk?
>>> thanks
>>> Iain
>>>
>>>
> On 2 Jun 2025, at 16:33, Iain Sandoe wrote:
>
> Hi Jason
>
>> On 2 Jun 2025, at 16:20, Jason Merrill wrote:
>>
>> On 5/31/25 3:19 PM, Iain Sandoe wrote:
>>> Some small cleanups found while working on other changes, tested
>>> on x86_64-dar
Hi Jason
> On 2 Jun 2025, at 16:20, Jason Merrill wrote:
>
> On 5/31/25 3:19 PM, Iain Sandoe wrote:
>> Some small cleanups found while working on other changes, tested
>> on x86_64-darwin, OK for trunk?
>> thanks
>> Iain
>> --- 8< ---
>> We wer
off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 17 ---
gcc/testsuite/g++.dg/coroutines/pr120495.C | 55 ++
2 files changed, 66 insertions(+), 6 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/coroutines/pr120495.C
diff --git a/gcc/cp/coroutines.c
nes/pr115908.C: Move to...
* g++.dg/coroutines/torture/pr115908.C: ...here.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 121 +-
.../coroutines/{ => torture}/pr115908.C | 9 +-
2 files changed, 60 insertions(+), 70 deletions(-)
rename gcc/t
ure/pr115908.C: ...here.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc | 111 +-
.../coroutines/{ => torture}/pr115908.C | 9 +-
2 files changed, 56 insertions(+), 64 deletions(-)
rename gcc/testsuite/g++.dg/coroutines/{ => torture}/p
ons manually rather than using higher-level APIs.
gcc/cp/ChangeLog:
* coroutines.cc (build_actor_fn): Remove an unused
label, guard the frame deallocation correctly, use
simpler APIs to build if and return statements.
Signed-off-by: Iain Sandoe
---
gcc/cp/coroutines.cc |
1 - 100 of 1266 matches
Mail list logo