[ping^2] [PATCH] testsuite, darwin: Handle Darwin LTO section names.

2025-09-19 Thread Iain Sandoe
> 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

[PATCH] c++, contracts: Abstract interfaces to constexpr [NFC].

2025-09-17 Thread Iain Sandoe
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

[pushed] testsuite, objective-c: Fix duplicate test names in 'special'.

2025-09-17 Thread Iain Sandoe
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

[PATCH] Ada, libgnarl: Fix Ada bootstrap for Darwin.

2025-09-16 Thread Iain Sandoe
* 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

Re: [PATCH] compare_tests: Improve non-unique tests report

2025-09-15 Thread Iain Sandoe
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

[ping] Re: [PATCH] testsuite, darwin: Handle Darwin LTO section names.

2025-09-13 Thread Iain Sandoe
… 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

Re: [PATCH] compare_tests: Improve non-unique tests report

2025-09-10 Thread Iain Sandoe
> 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 >&

Re: [PATCH] compare_tests: Improve non-unique tests report

2025-09-10 Thread Iain Sandoe
> 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

Re: [PATCH] compare_tests: Improve non-unique tests report

2025-09-10 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-09 Thread Iain Sandoe
> 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:

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-09 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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: >>>> >>>> >>>> >>>>>

Re: [PATCH] D, Darwin: Check for __fork before trying to use it.

2025-09-08 Thread Iain Sandoe
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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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 >>>

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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

Re: [PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-08 Thread Iain Sandoe
> 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

[PATCH 2/2 v2] libstdc++: Implement P1494 and P3641 Partial program correctness [PR119060]

2025-09-07 Thread Iain Sandoe
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

[PATCH 1/2 v2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-07 Thread Iain Sandoe
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:

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-07 Thread Iain Sandoe
> 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: >>>>>

Re: [PATCH] ipa: Fix build on MacOS

2025-09-07 Thread Iain Sandoe
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

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-06 Thread Iain Sandoe
> 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 ()

[PATCH] D, Darwin: Check for __fork before trying to use it.

2025-09-06 Thread Iain Sandoe
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

Re: [PATCH] D: disable collect fork on Darwin

2025-09-06 Thread Iain Sandoe
> 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

Re: [PATCH 2/2] libstdc++: Implement P1494 and P3641 Partial program correctness [PR119060]

2025-09-05 Thread Iain Sandoe
> 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

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-05 Thread Iain Sandoe
> 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 >>>&

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-05 Thread Iain Sandoe
> 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 >

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-05 Thread Iain Sandoe
> 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

Re: [PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-05 Thread Iain Sandoe
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

[PATCH 2/2] libstdc++: Implement P1494 and P3641 Partial program correctness [PR119060]

2025-09-04 Thread Iain Sandoe
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

[PATCH 1/2] c++: Implement P1494 and P3641 Partial program correctness [PR119060].

2025-09-04 Thread Iain Sandoe
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

[PATCH 0/2] Implement P1494/P3641 Partial program correctness.

2025-09-04 Thread Iain Sandoe
(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

[pushed] testsuite, darwin: Suppress unwind frames in scantest-lto.c.

2025-09-04 Thread Iain Sandoe
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/

[PATCH] testsuite, darwin: Handle Darwin LTO section names.

2025-09-04 Thread Iain Sandoe
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

[PATCH] testsuite, darwin: Handle Darwin LTO section names [PR112728].

2025-09-03 Thread Iain Sandoe
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

Re: [PATCH] D: disable collect fork on Darwin

2025-09-03 Thread Iain Sandoe
> 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: > >

Re: [PATCH] D: disable collect fork on Darwin

2025-09-03 Thread Iain Sandoe
> 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?).

[PATCH] D, Darwin, Powerpc: Fix build error.

2025-09-03 Thread Iain Sandoe
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

Re: [PATCH] D: disable collect fork on Darwin

2025-09-02 Thread Iain Sandoe
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

Re: [PATCH] D: disable collect fork on Darwin

2025-09-02 Thread Iain Sandoe
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

[pushed] diagnostics: Fix bootstrap fail on Darwin 32b hosts.

2025-09-01 Thread Iain Sandoe
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

[pushed] configure, Darwin: Do not claim .cfi_xxx instruction support.

2025-09-01 Thread Iain Sandoe
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-

[PATCH] D: disable collect fork on Darwin

2025-09-01 Thread Iain Sandoe
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. --- ...

[PATCH] c++, contracts: Simplify contracts headers [NFC].

2025-08-30 Thread Iain Sandoe
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

Re: [committed v5] libstdc++: Implement C++26 features [PR119670]

2025-08-30 Thread Iain Sandoe
> 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

Re: [committed v5] libstdc++: Implement C++26 features [PR119670]

2025-08-29 Thread Iain Sandoe
> 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

Re: std::start_lifetime_as vs. aliasing

2025-08-28 Thread Iain Sandoe
> 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

Re: [PATCH] fixincludes: skip stdio_stdarg_h on modern darwin

2025-08-14 Thread Iain Sandoe
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

[pushed] Darwin: Handle linker '-no_deduplicate' option.

2025-08-13 Thread Iain Sandoe
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

[pushed] Darwin: Handle string constants specially when asan is enabled.

2025-08-13 Thread 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|

Re: [PATCH] c++: normalize LOOKUP_* flags

2025-08-13 Thread Iain Sandoe
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

Re: [PATCH] D: Adjust the code-gen for a string constant.

2025-08-11 Thread Iain Sandoe
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

[PATCH] D: Adjust the code-gen for a string constant.

2025-08-10 Thread Iain Sandoe
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

[pushed] Darwin: Anchor block internal symbols must not be linker-visible.

2025-08-09 Thread Iain Sandoe
-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

[pushed] Darwin: Section anchors must be linker-visible.

2025-08-09 Thread Iain Sandoe
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

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-25 Thread Iain Sandoe
> 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

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
> 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

Re: [PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
> 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

[PATCH v3] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
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

[PATCH v2] c++, coroutines: Handle allocation fail returns [PR121219].

2025-07-24 Thread Iain Sandoe
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 ++

[PATCH] c++, coroutines: Handle allocation fail return objects [PR121219].

2025-07-23 Thread Iain Sandoe
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/

Re: [Fortran, Coarray] Call-out to everyone having Fortran coarray-codes available

2025-07-23 Thread Iain Sandoe
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

Re: [Fortran, Coarray] Call-out to everyone having Fortran coarray-codes available

2025-07-22 Thread Iain Sandoe
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

Re: [PATCH] Darwin: account for macOS 26

2025-07-14 Thread Iain Sandoe
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

Re: [PATCH] libphobos: Fully enable Darwin/i386 support

2025-06-30 Thread Iain Sandoe
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

[pushed] libstdc++: Fix Darwin bootstrap by simplifying ver file syntax.

2025-06-27 Thread Iain Sandoe
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

Re: [PATCH 15/17] coroutines: Removed unused private member in cp_coroutine_transform

2025-06-25 Thread Iain Sandoe
> 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. > >

[PATCH v6] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-17 Thread Iain Sandoe
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.

Re: [PATCH] c++,coroutines: Handle await expressions in assume attributes.

2025-06-17 Thread Iain Sandoe
> 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

[PATCH v5] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-17 Thread Iain Sandoe
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

Re: [PATCH] c++,coroutines: Handle await expressions in assume attributes.

2025-06-16 Thread Iain Sandoe
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

[PATCH v4] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-16 Thread Iain Sandoe
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

[PATCH] c++, coroutines: Remove use of coroutine handle in the frame.

2025-06-16 Thread Iain Sandoe
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

[PATCH] c++, coroutines: Handle unevaluated contexts.

2025-06-14 Thread Iain Sandoe
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

[PATCH] c++, coroutines: Avoid UNKNOWN_LOCATION synthesizing code [PR120273].

2025-06-14 Thread Iain Sandoe
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 ---

Re: [PATCH v2] c++, coroutines: Improve diagnostics for awaiter/promise.

2025-06-14 Thread Iain Sandoe
> 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

Re: [PATCH] c++, coroutines: Ensure that the resumer is marked as can_throw.

2025-06-11 Thread Iain Sandoe
> 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

Re: [PATCH] libfortran: Simplify Makefile logic

2025-06-11 Thread Iain Sandoe
> 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

[PATCH] c++, coroutines: Ensure that the resumer is marked as can_throw.

2025-06-09 Thread Iain Sandoe
/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

[PATCH] c++, coroutines: Handle await expressions in assume attributes.

2025-06-09 Thread Iain Sandoe
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

[PATCH] c++, coroutines: Handle builtin_constant_p [PR116775].

2025-06-09 Thread Iain Sandoe
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 |

[PATCH] c++, coroutines: Handle unevaluated contexts

2025-06-09 Thread Iain Sandoe
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

[PATCH v3] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-09 Thread Iain Sandoe
/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

[PATCH v2] c++, coroutines: Improve diagnostics for awaiter/promise.

2025-06-09 Thread Iain Sandoe
* 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 ---

[PATCH v2] c++, coroutines: Avoid UNKNOWN_LOCATION synthesizing code [PR120273].

2025-06-09 Thread 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

Re: [PATCH] c-lex: Handle NULL filenames from UNKNOWN_LOCATION [PR120273].

2025-06-03 Thread 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

[PATCH v3] c++: Fix template class lookup [PR120495, PR115605].

2025-06-03 Thread Iain Sandoe
* 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

Re: [PATCH v2] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-03 Thread Iain Sandoe
> 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

[PATCH v2] c++: Fix template class lookup [PR120495, PR115605].

2025-06-03 Thread Iain Sandoe
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

[PATCH] c++: Fix template class lookup [PR120495, PR115605].

2025-06-02 Thread Iain Sandoe
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

Re: [PATCH v2] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-02 Thread Iain Sandoe
> 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

Re: [PATCH] c++,coroutines: Lookup coroutine_handle template [PR120495].

2025-06-02 Thread Iain Sandoe
> 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 >>> >>>

Re: [PATCH] c++, coroutines: Some cleanups in build_actor_fn.

2025-06-02 Thread Iain Sandoe
> 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

Re: [PATCH] c++, coroutines: Some cleanups in build_actor_fn.

2025-06-02 Thread Iain Sandoe
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

[PATCH] c++,coroutines: Lookup coroutine_handle template [PR120495].

2025-06-02 Thread Iain Sandoe
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

[PATCH v2] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-06-01 Thread Iain Sandoe
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

[PATCH] c++, coroutines: CWG2563 promise lifetime extension [PR115908].

2025-05-31 Thread Iain Sandoe
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

[PATCH] c++, coroutines: Some cleanups in build_actor_fn.

2025-05-31 Thread Iain Sandoe
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   2   3   4   5   6   7   8   9   10   >