Re: [PATCH] c++: share more trees representing enumerators

2025-10-27 Thread Jakub Jelinek
On Mon, Oct 27, 2025 at 08:36:51PM -0400, Marek Polacek wrote: > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? > > -- >8 -- > This came up in Reflection where an assert fails because we have two > different trees for same enumerators. The reason is that in > finish_enum_value_list

Re: [PATCH v8] rs6000: Use vector addition when left shifting by 1 [PR119702]

2025-10-27 Thread Avinash Jayakar
On Fri, 2025-10-24 at 14:45 +0530, Avinash Jayakar wrote: > > As mentioned in the PATCH v6 thread vaddudm tests fail in power8/9 > for: > 1. pr119702-3.c: Surya's patch for PR107757 should fix this test case > once > upstream. > 2. pr119702-4.c: Work in progress (PR122065) > FYI: I have implement

Re: [PATCH] Add -fcombine-op-with-volatile-memory-load

2025-10-27 Thread H.J. Lu
On Tue, Oct 28, 2025 at 1:26 PM Uros Bizjak wrote: > > On Mon, Oct 27, 2025 at 11:56 PM H.J. Lu wrote: > > > > > > IMO the -fcombine-op-with-volatile-memory-load is quite a bad name. > > > > > Options should have names that mean something to users. As this > > > > > seems to > > > > > supposed

Re: [PATCH] c++: Fold non-ODR usages of potentially constant values early [PR120005]

2025-10-27 Thread Nathaniel Shead
On Fri, Oct 03, 2025 at 05:28:59PM +0100, Jason Merrill wrote: > On 10/2/25 2:13 PM, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? > > > > This approach does have some downsides, in that this early folding does > > potentially impact later-running diag

[RFC] Move build_call_nary away from va_list

2025-10-27 Thread Andrew Pinski
Instead of a va_list here we can create a std::initializer_list that contains the arguments and pass that. This is just one quick version of what was mentioned during the Reviewing refactoring goals and acceptable abstractions. The generated code should be similar or slightly better. Plus there i

Re: [PATCH] Add -fcombine-op-with-volatile-memory-load

2025-10-27 Thread Uros Bizjak
On Mon, Oct 27, 2025 at 11:56 PM H.J. Lu wrote: > > > > IMO the -fcombine-op-with-volatile-memory-load is quite a bad name. > > > > Options should have names that mean something to users. As this seems > > > > to > > > > supposed to be a target opt-in I'd suggest to not expose this to users > >

[COMMITTED] vect: Add vector lowering for MULT_EXPR for constant pow2 multiplication.

2025-10-27 Thread Avinash Jayakar
Use logic similar to lowering the vector operation for MULT_EXPR as done in expand_mult in expmed.cc, but in this commit only bare bones version of what is done in vect_synth_mult_by_constant is implemented that only works if constant is a positive power of 2 constant. Previously, if the source co

Re: [PATCH] x86-64: Inline memmove with overlapping unaligned loads and stores

2025-10-27 Thread H.J. Lu
H.J. On Tue, Oct 28, 2025, 11:21 AM Hongtao Liu wrote: > On Thu, Oct 23, 2025 at 10:15 AM H.J. Lu wrote: > > > > Inline memmove in 64-bit since there are much less registers available > > in 32-bit: > > > > 1. Load all sources into registers and store them together to avoid > >possible addr

Re: [PATCH] x86-64: Inline memmove with overlapping unaligned loads and stores

2025-10-27 Thread Hongtao Liu
On Thu, Oct 23, 2025 at 10:15 AM H.J. Lu wrote: > > Inline memmove in 64-bit since there are much less registers available > in 32-bit: > > 1. Load all sources into registers and store them together to avoid >possible address overlap between source and destination. > 2. For known size, first t

Re: [PATCH v2] c++: Don't constrain visibility using local variables [PR122253]

2025-10-27 Thread Patrick Palka
On Sat, 18 Oct 2025, Patrick Palka wrote: > On Sat, 18 Oct 2025, Jason Merrill wrote: > > > On 10/18/25 6:13 PM, Jason Merrill wrote: > > > On 10/18/25 5:52 PM, Patrick Palka wrote: > > > > On Sun, 19 Oct 2025, Nathaniel Shead wrote: > > > > > > > > > On Sat, Oct 18, 2025 at 06:38:57PM +1100, Na

[to-be-committed] RISC-V: Clean up build warnings for VLS calling convention

2025-10-27 Thread Kito Cheng
gcc/ChangeLog: * config/riscv/riscv.cc (riscv_get_vls_cc_attr): Fix error message parameter order and add check_only condition. Improve diagnostic message formatting with proper quoting. (riscv_handle_rvv_vls_cc_attribute): Anonymize unused node parameter. --- gcc

[PATCH] libstdc++: Make basic_stringbuf use initial SSO capacity [PR80676]

2025-10-27 Thread Patrick Palka
From: Jonathan Wakely Tested on x86_64-pc-linux-gnu. Patch originally written by Jonathan and completed by me (mainly testsuite adjustments). I don't understand the stringbuf API enough to determine what the correct value of egptr() - eback() (i.e. the get area size) should be in the 26250.cc t

RE: [PATCH v1 1/2] Match: Add unsigned SAT_MUL for form 7

2025-10-27 Thread Li, Pan2
Thanks Richard for comments. > (match > (widening_mult @0 @1) > (widen_mult @0 @1)) > (match > (widening_mult @0 @1) > (mult (convert @0) (convert @1)) > (if (it is widening)) I see, that wrap the convert part into another helper predicate. That make sense to me, and will have a try soon. I thi

[COMMITTED] libgcobol: fix xmlCtxtGetVersion typo again

2025-10-27 Thread Sam James
Followup to r16-4668-g374ec67294fc4f. I'd assumed the build got past this point but it turned out it hadn't. libgcobol/ChangeLog: PR cobol/122451 * xmlparse.cc (context_t): Make 'ctxt' public. (xml_push_parse): Fix xmlCtxtGetVersion argument. --- Now really bootstrapped ;)

Re: [PATCH V5 00/47] Algol 68 GCC Front-End

2025-10-27 Thread Jose E. Marchesi
> Automake supports Algol 68 starting with version 1.18. > > Autoconf patches have been sent to their development mailing list and are > still to be approved. In the meanwhile the algol 68 support can be found at > https://git.sr.ht/~jemarch/autoconf-a68. Forgot to update that the Algol 68 auto

[PATCH] c++: share more trees representing enumerators

2025-10-27 Thread Marek Polacek
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? -- >8 -- This came up in Reflection where an assert fails because we have two different trees for same enumerators. The reason is that in finish_enum_value_list we copy_node when converting the enumerators. It should be more efficient t

Re: [WWW][PATCH] Add the BPF backend to the matrix in backends.html

2025-10-27 Thread Gerald Pfeifer
On Tue, 28 Oct 2025, Jose E. Marchesi wrote: > Add the BPF backend to backends.html. As BFP maintainer you can make changes like this without approval. :) In any case seems to work and look alright. Thanks Gerald

[PATCH V5 45/47] a68: testsuite: compilation tests

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/testsuite/ChangeLog * algol68/compile/a68includes/goodbye-supper.a68 * algol68/compile/a68includes/goodbye.a68: Likewise. * algol68/compile/a68includes/hello-supper.a68: Likewise. * algol68/compile/a68includes/hello.a68: Likewis

[WWW][PATCH] Add the BPF backend to the matrix in backends.html

2025-10-27 Thread Jose E. Marchesi
Add the BPF backend to backends.html. diff --git a/htdocs/backends.html b/htdocs/backends.html index b6a747cd..b5b6fc90 100644 --- a/htdocs/backends.html +++ b/htdocs/backends.html @@ -74,6 +74,7 @@ arc| B b gia arm| b ia s avr|L F

[PATCH V5 47/47] a68: testsuite: mcgt tests

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/testsuite/ChangeLog * algol68/compile/mcgt-1.3b.a68: New file. * algol68/compile/mcgt-7.1.3a-bis.a68: Likewise. * algol68/compile/mcgt-7.1.3a.a68: Likewise. * algol68/execute/mcgt/execute.exp: Likewise. * algol68/execute

[PATCH V5 41/47] a68: libga68: build system (generated files)

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi ChangeLog * libga68/config.h.in: Regenerate. * libga68/configure: Likewise. --- -*- snip, see a68-v5 branch in gcc/gcc-a68 -*-

[PATCH V5 34/47] a68: low: runtime

2025-10-27 Thread Jose E. Marchesi
Libcalls for operations implemented in the run-time environment. Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-runtime.cc: New file. * algol68/a68-low-runtime.def: Likewise. --- gcc/algol68/a68-low-runtime.cc | 225 gcc/algol6

[PATCH V5 33/47] a68: low: clauses and declarations

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-clauses.cc: New file. * algol68/a68-low-decls.cc: Likewise. --- gcc/algol68/a68-low-clauses.cc | 1407 gcc/algol68/a68-low-decls.cc | 629 ++ 2 files changed, 2036 ins

[PATCH V5 35/47] a68: low: builtins

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-builtins.cc: New file. --- gcc/algol68/a68-low-builtins.cc | 533 1 file changed, 533 insertions(+) create mode 100644 gcc/algol68/a68-low-builtins.cc diff --git a/gcc/algol68/a68-low-buil

[PATCH V5 26/47] a68: parser: debug facilities

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-parser-debug.cc: New file. --- gcc/algol68/a68-parser-debug.cc | 116 1 file changed, 116 insertions(+) create mode 100644 gcc/algol68/a68-parser-debug.cc diff --git a/gcc/algol68/a68-parser-d

[PATCH V5 40/47] a68: libga68: build system

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi ChangeLog * libga68/Makefile.am: New file. * libga68/configure.ac: Likewise. * libga68/Makefile.in: Generate. * libga68/aclocal.m4: Likewise. --- libga68/Makefile.am | 122 + libga68/Makefile.in | 906 ++

[PATCH V5 28/47] a68: parser: dynamic stack usage in serial clauses

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-parser-serial-dsa.cc: New file. --- gcc/algol68/a68-parser-serial-dsa.cc | 114 +++ 1 file changed, 114 insertions(+) create mode 100644 gcc/algol68/a68-parser-serial-dsa.cc diff --git a/gcc/algol68/a6

[PATCH V5 39/47] a68: libga68: sources, spec and misc files

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi ChangeLog * libga68/README: New file. * libga68/ga68-alloc.c: Likewise. * libga68/ga68-error.c: Likewise. * libga68/ga68-posix.c: Likewise. * libga68/ga68-standenv.c: Likewise. * libga68/ga68-unistr.c: Likewise.

[PATCH V5 21/47] a68: parser: syntax check for declarers

2025-10-27 Thread Jose E. Marchesi
Thi pass checks the syntax of formal, actual and virtual declarers. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-victal.cc | 362 +++ 1 file changed, 362 insertions(+) create mode 100644 gcc/algol68/a68-parser-victal

[PATCH V5 42/47] a68: testsuite: infrastructure

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/testsuite/ChangeLog * lib/algol68-dg.exp: New file. * lib/algol68-torture.exp: Likewise. * lib/algol68.exp: Likewise. --- gcc/testsuite/lib/algol68-dg.exp | 57 gcc/testsuite/lib/algol68-torture.exp | 430 +++

[PATCH V5 27/47] a68: parser: extraction of tags from phrases

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-extract.cc | 675 ++ 1 file changed, 675 insertions(+) create mode 100644 gcc/algol68/a68-parser-extract.cc diff --git a/gcc/algol68/a68-parser-extract.cc b/gcc/algol68/a

[PATCH V5 38/47] a68: low: modes

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-moids.cc: New file. --- gcc/algol68/a68-low-moids.cc | 729 +++ 1 file changed, 729 insertions(+) create mode 100644 gcc/algol68/a68-low-moids.cc diff --git a/gcc/algol68/a68-low-moids.cc b

[PATCH V5 18/47] a68: parser: top-down parser

2025-10-27 Thread Jose E. Marchesi
Top-down parser for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-top-down.cc | 790 + 1 file changed, 790 insertions(+) create mode 100644 gcc/algol68/a68-parser-top-down.cc diff --git a/gcc/

[PATCH V5 30/47] a68: low: plain values

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-bits.cc: New file. * algol68/a68-low-bools.cc: Likewise. * algol68/a68-low-chars.cc: Likewise. * algol68/a68-low-complex.cc: Likewise. * algol68/a68-low-ints.cc: Likewise. * algol68/a6

[PATCH V5 36/47] a68: low: ranges

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-ranges.cc: New file. --- gcc/algol68/a68-low-ranges.cc | 697 ++ 1 file changed, 697 insertions(+) create mode 100644 gcc/algol68/a68-low-ranges.cc diff --git a/gcc/algol68/a68-low-ranges.c

[PATCH V5 17/47] a68: parser: keyword tables management

2025-10-27 Thread Jose E. Marchesi
This commit adds code to manage the table of keywords (bold words) in the Algol 68 front-end. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-keywords.cc | 243 + 1 file changed, 243 insertions(+) create mode 100644 gcc

[PATCH V5 24/47] a68: parser: symbol table management

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-taxes.cc | 1648 +++ 1 file changed, 1648 insertions(+) create mode 100644 gcc/algol68/a68-parser-taxes.cc diff --git a/gcc/algol68/a68-parser-taxes.cc b/gcc/algol68/a68-p

[PATCH V5 31/47] a68: low: stowed values

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-multiples.cc: New file. * algol68/a68-low-structs.cc: Likewise. * algol68/a68-low-unions.cc: Likewise. --- gcc/algol68/a68-low-multiples.cc | 1097 ++ gcc/algol68/a68-low-structs.

[PATCH V5 37/47] a68: low: units and coercions

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-coercions.cc: New file. * algol68/a68-low-generator.cc: Likewise. * algol68/a68-low-units.cc: Likewise. --- gcc/algol68/a68-low-coercions.cc | 471 gcc/algol68/a68-low-generator.cc | 533 +

[PATCH V5 13/47] a68: front-end diagnostics

2025-10-27 Thread Jose E. Marchesi
This commit adds the diagnostics infrastructure for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer gcc/ChangeLog * algol68/a68-diagnostics.cc: New file. --- gcc/algol68/a68-diagnostics.cc | 361 + 1 file chan

[PATCH V5 22/47] a68: parser: standard prelude definitions

2025-10-27 Thread Jose E. Marchesi
Definitions of standard identifiers, procedures and modes. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-prelude.cc | 1493 + 1 file changed, 1493 insertions(+) create mode 100644 gcc/algol68/a68-parser-prelude.cc di

[PATCH V5 25/47] a68: parser: static scope checker

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-scope.cc | 975 1 file changed, 975 insertions(+) create mode 100644 gcc/algol68/a68-parser-scope.cc diff --git a/gcc/algol68/a68-parser-scope.cc b/gcc/algol68/a68-pa

[PATCH V5 32/47] a68: low: standard prelude

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low-posix.cc: New file. * algol68/a68-low-prelude.cc: Likewise. --- gcc/algol68/a68-low-posix.cc | 553 gcc/algol68/a68-low-prelude.cc | 2151 2 files changed, 2704 insertion

[PATCH V5 11/47] a68: a681 compiler proper

2025-10-27 Thread Jose E. Marchesi
This commit adds the language hooks and the target hooks for the Algol 68 front-end, which implement the a681 compiler proper. Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-lang.cc: New file. * algol68/algol68-target.def: Likewise. * genhooks.cc (hook_array

[PATCH V5 10/47] a68: ga68 compiler driver

2025-10-27 Thread Jose E. Marchesi
This commit adds the main sources for the ga68 compiler driver. Signed-off-by: Jose E. Marchesi gcc/ChangeLog: * algol68/a68spec.cc: New file. * algol68/lang-specs.h: Likewise. --- gcc/algol68/a68spec.cc | 222 +++ gcc/algol68/lang-specs.h

[PATCH V5 29/47] a68: low: lowering entry point and misc handlers

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-low.cc: New file. * algol68/a68-low-misc.cc: Likewise. --- gcc/algol68/a68-low-misc.cc | 213 +++ gcc/algol68/a68-low.cc | 1153 +++ 2 files changed, 1366 insertions(+) create

[PATCH V5 12/47] a68: unicode support routines

2025-10-27 Thread Jose E. Marchesi
This commit adds several utility functions to deal with Unicode strings. These functions have been adapted from the libunistring gnulib module. gcc/ChangeLog * algol68/a68-unistr.c: New file. --- gcc/algol68/a68-unistr.c | 453 +++ 1 file changed, 453

[PATCH V5 20/47] a68: parser: bottom-up parser

2025-10-27 Thread Jose E. Marchesi
Bottom-up parser for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-bottom-up.cc | 2542 +++ 1 file changed, 2542 insertions(+) create mode 100644 gcc/algol68/a68-parser-bottom-up.cc diff --git a/g

Re: [WWW][PATCH] Add the BPF backend to the matrix in backends.html

2025-10-27 Thread Jose E. Marchesi
> On Tue, 28 Oct 2025, Jose E. Marchesi wrote: >> Add the BPF backend to backends.html. > > As BFP maintainer you can make changes like this without approval. :) I don't trust my own self when it comes to HTML.. not even within ;) > In any case seems to work and look alright. Pushed, thanks!

[PATCH V5 19/47] a68: parser: parenthesis checker

2025-10-27 Thread Jose E. Marchesi
This pass makes sure all brackets (parenthesis) are matched in the source program. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-brackets.cc | 226 + 1 file changed, 226 insertions(+) create mode 100644 gcc/algol68/a6

[PATCH V5 08/47] a68: powerpc specific support

2025-10-27 Thread Jose E. Marchesi
Some code in the rs6000 port relies on parsing the language name. This commit makes that code to recognize "GNU Algol 68". Signed-off-by: Jose E. Marchesi gcc/ChangeLog * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue): Handle "GNU Algol 68" in language_string. -

[PATCH V5 06/47] a68: DWARF language codes

2025-10-27 Thread Jose E. Marchesi
This commit makes GCC aware of the DWARF numbers recently allocated for Algol 68. For DWARF 5, DW_LANG_Algol68 = 0x44. For DWARF 6, DW_LNAME_Algol68 = 0x2e with versioning schema , starting with 1973 for the original Revised language. The language extensions we are working on will

[PATCH V5 14/47] a68: parser: entry point

2025-10-27 Thread Jose E. Marchesi
This commit adds the parsing support code and the entry point to the parser. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser.cc | 1134 + 1 file changed, 1134 insertions(+) create mode 100644 gcc/algol68/a68-par

[PATCH V5 16/47] a68: parser: scanner

2025-10-27 Thread Jose E. Marchesi
Lexer for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi Co-authored-by: Marcel van der Veer --- gcc/algol68/a68-parser-scanner.cc | 2277 + 1 file changed, 2277 insertions(+) create mode 100644 gcc/algol68/a68-parser-scanner.cc diff --git a/gcc/algol68/a6

[PATCH V5 15/47] a68: parser: AST nodes attributes/types

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/a68-parser-attrs.def: New file. --- gcc/algol68/a68-parser-attrs.def | 366 +++ 1 file changed, 366 insertions(+) create mode 100644 gcc/algol68/a68-parser-attrs.def diff --git a/gcc/algol68/a68-parser

[PATCH V5 07/47] a68: darwin specific support

2025-10-27 Thread Jose E. Marchesi
Signed-off-by: Jose E. Marchesi Co-authored-by: Iain Sandoe gcc/ChangeLog * config/darwin.h: Adapt specs for libga68.a. --- gcc/config/darwin.h | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index e23414c00b6..4b45f4efbc1 100644 --- a/gcc/

[PATCH V5 02/47] a68: build system

2025-10-27 Thread Jose E. Marchesi
This commit adds support for building the Algol 68 front-end to the build system. Signed-off-by: Jose E. Marchesi ChangeLog * Makefile.def (libga68): New module. (configure-target-libga68): Likewise. * Makefile.tpl (GA68): Define. (GA68_FOR_BUILD): Likewise.

[PATCH V5 03/47] a68: build system (regenerated files)

2025-10-27 Thread Jose E. Marchesi
This commit adds the regenerated configure scripts regenerated by autoconf that reflect the changes to configure.ac. Signed-off-by: Jose E. Marchesi ChangeLog * configure: Regenerate. * Makefile.in: Likewise. gcc/ChangeLog * configure: Regenerate. --- Makefile.in |

[PATCH V5 05/47] a68: command-line options

2025-10-27 Thread Jose E. Marchesi
This commit adds a new common command-line option to the compiler driver (-static-libga68) as well as several other front-end specific options. Signed-off-by: Jose E. Marchesi gcc/ChangeLog * algol68/lang.opt: New file. * algol68/lang.opt.urls: Generate. * common.opt: Ne

[PATCH V5 00/47] Algol 68 GCC Front-End

2025-10-27 Thread Jose E. Marchesi
[Differences from V4: - Rebased to today's master. - Only accept vacuums in row strong contexts. - Update gcc/doc/install.texi with Algol 68 info. - Simplify and tidy libga68/configure.ac. - Add better descriptions for AST node attributes. - Turn -fa68-dump-ast to use text_art::tree_widget.

[PATCH V5 01/47] a68: top-level misc files

2025-10-27 Thread Jose E. Marchesi
This commit updates a few administrative files in the top-level directory. The MAINTAINERS file is updated with new entries for the Algol 68 front-end and the libga68 run-time library. SECURITY.txt is updated to add libga68 to the list of the other run-time libraries. contrib/gcc-changelog/git_c

Re: [PATCH] c++/modules: Use containing type as key for all member lambdas [PR122310]

2025-10-27 Thread Nathaniel Shead
On Mon, Oct 27, 2025 at 04:07:30PM +0200, Jason Merrill wrote: > On 10/22/25 6:11 AM, Nathaniel Shead wrote: > > On Sun, Oct 19, 2025 at 09:35:28PM +0300, Jason Merrill wrote: > > > On 10/19/25 2:14 AM, Nathaniel Shead wrote: > > > > On Sat, Oct 18, 2025 at 06:41:15PM +0300, Jason Merrill wrote: >

[PATCH v5 2/3] c: introduce jump barriers for statement expressions

2025-10-27 Thread Anna (navi) Figueiredo Gomes
represent the start and end of scope which a local jump is not allowed to cross as a jump barrier, moving this logic out into a function allows for defer statements to use the same codepath gcc/c/ChangeLog: * c-decl.cc (struct c_jump_barrier): New structure. (struct c_spot_binding

[PATCH v5 1/3] c: handle expression nodes in push_cleanup

2025-10-27 Thread Anna (navi) Figueiredo Gomes
for future use with defer statements, as they do not have a declaration associated, and are bound to the scope with a BIND_EXPR gcc/c/ChangeLog: * c-typeck.cc (push_cleanup): Adjust. Signed-off-by: Anna (navi) Figueiredo Gomes --- gcc/c/c-typeck.cc | 10 -- 1 file changed, 8 in

[PATCH v5 3/3] c: implement the defer keyword

2025-10-27 Thread Anna (navi) Figueiredo Gomes
based on the technical specification 25755[1][2] the keyword '_Defer' is enabled by default as an extension, while 'defer' is gated by '-fdefer-ts' deferred statements execute at the end of the scope they're added on, similar to the cleanup attribute, and they have much of the same constraints as

[PATCH v5 0/3] implement defer statements as per ts 25755

2025-10-27 Thread Anna (navi) Figueiredo Gomes
* Add '_Defer' as an extension to all c versions, while keeping 'defer' gated behind '-fdefer-ts'. This matches the behaviour that clang is going[3] for and the new ts revision[4]. --- * Remove backwards jump constraint, as per v3 of the ts[2]. bringing the behaviour more in line with the cleanup

[COMMITTED] libgcobol: fix xmlCtxtGetVersion typo

2025-10-27 Thread Sam James
libgcobol/ChangeLog: PR cobol/122451 * xmlparse.cc (xml_push_parse): Fix xmlCtxtGetVersion argument typo to be 'context'. --- libgcobol/xmlparse.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgcobol/xmlparse.cc b/libgcobol/xmlparse.cc index edaf1

Re: [PATCH] Add -fcombine-op-with-volatile-memory-load

2025-10-27 Thread H.J. Lu
On Mon, Oct 27, 2025 at 8:43 PM Richard Biener wrote: > > On Mon, Oct 27, 2025 at 12:16 PM H.J. Lu wrote: > > > > On Mon, Oct 27, 2025 at 4:37 PM Richard Biener > > wrote: > > > > > > On Fri, Oct 24, 2025 at 11:25 PM H.J. Lu wrote: > > > > > > > > On Fri, Oct 24, 2025 at 10:23 PM Georg-Johann L

Re: [PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 27, 2025 at 1:22 PM Tamar Christina wrote: > > It looks like during the upstreaming of BF16 we didn't implement the extend > optab for it. > > As a result we go through soft-float emulation which results in massive > performance drop in projects using BF16. > > As an example, for > > f

Re: [PATCH] c: Try the type with the previous function attributes

2025-10-27 Thread Joseph Myers
On Mon, 27 Oct 2025, H.J. Lu wrote: > PR c/122427 > * c-decl.cc (diagnose_mismatched_decls): For FUNCTION_DECL, if > OLDDECL has TYPE_ATTRIBUTES and NEWDECL doesn't, try the type > with the OLDDECL attributes. > > gcc/testsuite/ > > PR c/122427 > * g++.target/i386/cf_check-1.C: New test. > * g++

Re: [PATCH] c++/modules: Track all static class variables [PR122421]

2025-10-27 Thread Nathaniel Shead
On Mon, Oct 27, 2025 at 05:04:18PM +0200, Jason Merrill wrote: > On 10/26/25 2:40 PM, Nathaniel Shead wrote: > > Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk/15? > > > > -- >8 -- > > > > The linker error in the PR is caused because when a static is defined > > out of the class

RE: [PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Tamar Christina
> -Original Message- > From: Andrew Pinski > Sent: 27 October 2025 21:30 > To: Tamar Christina > Cc: [email protected]; nd ; Richard Earnshaw > ; [email protected]; Alex Coplan > ; Wilco Dijkstra ; Alice > Carlotti > Subject: Re: [PATCH]AArch64: support bf16 to sf extensions [PR

Re: [PATCH] Add -fcombine-op-with-volatile-memory-load

2025-10-27 Thread H.J. Lu
On Tue, Oct 28, 2025 at 12:04 AM Jeff Law wrote: > > > > On 10/27/25 2:37 AM, Richard Biener wrote: > ? > >> > >> There are 2 reasons: > >> > >> 1. RISC processors only allow moves with memory. Since this optimization > >> only applies to other load operations, it is nop for most RISC processor

Re: [PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 27, 2025 at 2:11 PM Tamar Christina wrote: > > > -Original Message- > > From: Andrew Pinski > > Sent: 27 October 2025 21:00 > > To: Tamar Christina > > Cc: [email protected]; nd ; Richard Earnshaw > > ; [email protected]; Alex Coplan > > ; Wilco Dijkstra ; Alice > >

[PATCH] libstdc++: Fix deadlock in shared_timed_mutex test [PR122401]

2025-10-27 Thread Jonathan Wakely
The test_shared_relative function deadlocks on older Glibc versions that don't have pthread_rwlock_clockrdlock, because (as already mentioned earlier in the test file) pthread_rwlock_timedrdlock returns EDEADLK if the thread that already holds a write lock attempts to acquire read lock, causing std

RE: [PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Tamar Christina
> -Original Message- > From: Andrew Pinski > Sent: 27 October 2025 21:00 > To: Tamar Christina > Cc: [email protected]; nd ; Richard Earnshaw > ; [email protected]; Alex Coplan > ; Wilco Dijkstra ; Alice > Carlotti > Subject: Re: [PATCH]AArch64: support bf16 to sf extensions [PR

Re: [PATCH] [PATCH] match: simplify `VCE({0,1}) ==/!= 0` to `{0,1} ==/!= 0` [PR105749]

2025-10-27 Thread Jeff Law
On 10/27/25 11:37 AM, Andrew Pinski wrote: On Mon, Oct 6, 2025 at 8:41 AM Andrew Pinski wrote: SRA likes to create VCE(a) when it comes to bool. This confuses a few different passes including jump threading and uninitialization warning. This removes the VCE in one case where it will help an

Re: [PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 27, 2025 at 1:22 PM Tamar Christina wrote: > > It looks like during the upstreaming of BF16 we didn't implement the extend > optab for it. > > As a result we go through soft-float emulation which results in massive > performance drop in projects using BF16. > > As an example, for > > f

[Ada] Fix assertion failure on child generic package

2025-10-27 Thread Eric Botcazou
That's an oversight in Declare_Inherited_Private_Subprograms, which does not deal with formal types specially as it should per RM 3.2.3(7.d/2). Tested on x86-64/Linux, applied on the mainline. 2025-10-27 Eric Botcazou PR ada/29958 * sem_ch7.adb (Declare_Inherited_Private_Sub

Re: [PATCH] forwprop: Fix copy prop for alignment after the final folding [PR122086]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 27, 2025 at 1:07 PM Andrew Pinski wrote: > > On Mon, Oct 27, 2025 at 5:56 AM Richard Biener > wrote: > > > > On Mon, Oct 27, 2025 at 10:22 AM Andrew Pinski > > wrote: > > > > > > On Mon, Oct 27, 2025 at 1:50 AM Richard Biener > > > wrote: > > > > > > > > On Sat, Oct 25, 2025 at 6:52

[PATCH]AArch64: support bf16 to sf extensions [PR121853]

2025-10-27 Thread Tamar Christina
It looks like during the upstreaming of BF16 we didn't implement the extend optab for it. As a result we go through soft-float emulation which results in massive performance drop in projects using BF16. As an example, for float convert(__bf16 value) { return (float)value; } we generate: co

Re: [PATCH] forwprop: Fix copy prop for alignment after the final folding [PR122086]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 27, 2025 at 5:56 AM Richard Biener wrote: > > On Mon, Oct 27, 2025 at 10:22 AM Andrew Pinski > wrote: > > > > On Mon, Oct 27, 2025 at 1:50 AM Richard Biener > > wrote: > > > > > > On Sat, Oct 25, 2025 at 6:52 AM Andrew Pinski > > > wrote: > > > > > > > > After r16-4081-g966cdec2b2 w

Re: [RFC PATCH] libstdc++: Provide ABI compatibility for _GLIBCXX_HAVE_TLS

2025-10-27 Thread Keno Fischer
Hi Jonathan, Just wanted to gently ping to see if you've had a chance to take a look. Thanks, Keno On Thu, Oct 16, 2025 at 3:15 PM Jonathan Wakely wrote: > > I went travelling for a month on the day you sent the first patch and so I > missed it. I'll take a look ASAP. > > > > On Thu, 16 Oct 20

Re: [PATCH] fortran: revise non-char pointer handling in gfc_conv_constant

2025-10-27 Thread Jerry D
On 10/27/25 11:02 AM, Yuao Ma wrote: Hi Tobias, Thank you for the review! The original format was affected by the email content. The newly attached patch removes the unnecessary {} and reformats it. Hi Jerry, I re-ran the test suite and indeed found a case that needed modification. I've added

Re: [PATCH 2/6] libstdc++: Fix shared_timed_mutex for negative timeouts [PR116586]

2025-10-27 Thread Jonathan Wakely
On Sun, 14 Sep 2025 at 21:21 +0100, Mike Crowe wrote: Passing a timeout from before the epoch to std::shared_timed_mutex::try_lock_until or std::shared_timed_mutex::try_lock_shared_until causes the POSIX rwlock functions to be passed an invalid negative timeout which results in them returning EIN

Re: [PATCH] fortran: revise non-char pointer handling in gfc_conv_constant

2025-10-27 Thread Tobias Burnus
Hi Andre – I have a question for you - see below. Hi Yuao, Yuao Ma wrote: email content. The newly attached patch removes the unnecessary {} and reformats it. LGTM. Thanks. * * * @Andre: Can you check whether the following code can now be removed as unreachable? The pointer part seems to

[Ada] Fix visibility problem for implicit actual of formal subprogram

2025-10-27 Thread Eric Botcazou
If an actual parameter for a formal subprogram parameter of a generic unit, whose default is specified by a box, is omitted, then an implicit actual with the name of the formal is used and resolved in the context of the instance. If this context is a generic unit, and these implicit actuals are

Re: [committed] cobol: Implement the XML PARSE statement; implement POSIX

2025-10-27 Thread James K. Lowden
On Sun, 26 Oct 2025 13:36:03 +0100 Andreas Schwab wrote: > ../../../libgcobol/xmlparse.cc:394:22: error: no return statement in > function returning non-void [-Werror=return-type] 394 | { SAYSO_DATAZ > (name); } [...] ecc9af31a70..89a6db7bbe2 master -> master I'm sorry for the error. I thi

[PATCH] AArch64: Fix mv-cmpu-features.C test on older glibc versions [PR 122405]

2025-10-27 Thread Alfie Richards
Hi All, Minor fix for this test to address the bug report. Reg tested for AArch64. Okay for master? Alfie PS. Are such minor fixes okay in future for commit without review as obvious? -- >8 -- Adds a definition of HWCAP_ATOMICS and HWCAP2_RNG in the test file for the case that the glibc is ol

Re: [PATCH] fortran: revise non-char pointer handling in gfc_conv_constant

2025-10-27 Thread Yuao Ma
Hi Tobias, Thank you for the review! The original format was affected by the email content. The newly attached patch removes the unnecessary {} and reformats it. Hi Jerry, I re-ran the test suite and indeed found a case that needed modification. I've added that to the new patch. Will be great if

[PATCH][vect]: Fix operand swapping on complex multiplication detection [PR122408]

2025-10-27 Thread Tamar Christina
For SUBROUTINE a( j, b, c, d ) !GCC$ ATTRIBUTES noinline :: a COMPLEX*16 b COMPLEX*16 c( * ), d( * ) DO k = 1, j c( k ) = - b * CONJG( d( k ) ) END DO END we incorrectly generate .IFN_COMPLEX_MUL instead of .IFN_COMPLEX_MUL_CONJ. The issue happens because in the ca

RE: [PATCH][vect]: Fix LCSSA wiring during peeling of multiple-exit loops

2025-10-27 Thread Tamar Christina
> -Original Message- > From: Richard Biener > Sent: 27 October 2025 14:27 > To: Tamar Christina > Cc: [email protected]; nd ; [email protected] > Subject: RE: [PATCH][vect]: Fix LCSSA wiring during peeling of multiple-exit > loops > > On Mon, 27 Oct 2025, Tamar Christina wrote: >

Re: [PATCH] [PATCH] match: simplify `VCE({0,1}) ==/!= 0` to `{0,1} ==/!= 0` [PR105749]

2025-10-27 Thread Andrew Pinski
On Mon, Oct 6, 2025 at 8:41 AM Andrew Pinski wrote: > > SRA likes to create VCE(a) when it comes to bool. This confuses > a few different passes including jump threading and uninitialization > warning. This removes the VCE in one case where it will help and when it > is known not to have any undef

Re: [PATCH] fortran: revise non-char pointer handling in gfc_conv_constant

2025-10-27 Thread Jerry D
On 10/27/25 8:20 AM, Tobias Burnus wrote: Yuao Ma wrote: It is indeed simpler. I have used this api to update the patch. diff --git a/gcc/fortran/trans-const.cc b/gcc/fortran/trans-const.cc index f70f36284a3..966a837c25c 100644 --- a/gcc/fortran/trans-const.cc +++ b/gcc/fortran/trans-const.cc @

Re: [PATCH] vect: Fix regression for PR104116

2025-10-27 Thread Andrew Stubbs
On 24/10/2025 06:15, Avinash Jayakar wrote: Thanks for the info. I also was able to build and debug it for this target. For the signed mod case, there is an extra requirement for vectorization that is to have vector operation support for ABS_EXPR, which amdgcn does not have. 5033if (!unsigne

Re: [PATCH] expand: Move the [0,1] detection for a*b to use the ranger

2025-10-27 Thread Jeff Law
On 10/26/25 5:20 PM, Andrew Pinski wrote: In r14-6418-gacbfb8b9495b, the detection of boolean range was moved over to use gimple_zero_one_valued_p but now that we can use the full ranger during expand, let's use that instead. Adds a new helper function called expr_has_boolean_range. This call

Re: [PATCH] Add -fcombine-op-with-volatile-memory-load

2025-10-27 Thread Jeff Law
On 10/27/25 2:37 AM, Richard Biener wrote: ? There are 2 reasons: 1. RISC processors only allow moves with memory. Since this optimization only applies to other load operations, it is nop for most RISC processors. 2. Some GCC tests scan compiler assembly outputs which don't expect other

RE: [committed] cobol: Implement the XML PARSE statement; implement POSIX

2025-10-27 Thread Robert Dubner
Ah. I begin to see. You must be using compiler switches, or a version of a compiler, that are treating some of those warnings as errors. We are not; that code isn't being executed yet. It's a work in progress, and Jim hasn't addressed all of the warnings yet. I will now drop out of this conv

RE: [committed] cobol: Implement the XML PARSE statement; implement POSIX

2025-10-27 Thread Robert Dubner
Thank you. I committed those changes, although it's Jim's work. I haven't the foggiest idea, right now, how those errors got past my testing, and I am a bit embarrassed. I'll look into it, forthwith. > -Original Message- > From: Andreas Schwab > Sent: Sunday, October 26, 2025 08:36 >

Re: [PATCH] fortran: revise non-char pointer handling in gfc_conv_constant

2025-10-27 Thread Tobias Burnus
Yuao Ma wrote: It is indeed simpler. I have used this api to update the patch. diff --git a/gcc/fortran/trans-const.cc b/gcc/fortran/trans-const.cc index f70f36284a3..966a837c25c 100644 --- a/gcc/fortran/trans-const.cc +++ b/gcc/fortran/trans-const.cc @@ -444,6 +444,10 @@ gfc_conv_constant (gfc_

  1   2   >