https://gcc.gnu.org/g:a9de71c2060339fcd56257e64e61af207b924e4c
commit r14-11790-ga9de71c2060339fcd56257e64e61af207b924e4c Author: GCC Administrator <gccadmin@gcc.gnu.org> Date: Fri May 16 00:23:13 2025 +0000 Daily bump. Diff: --- gcc/ChangeLog | 30 ++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/c-family/ChangeLog | 28 ++++++++++++++++++++++++++++ gcc/c/ChangeLog | 11 +++++++++++ gcc/cp/ChangeLog | 46 ++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 35 +++++++++++++++++++++++++++++++++++ 6 files changed, 151 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bba6a5e4cdc5..6521a64fb435 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,33 @@ +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-10 Jakub Jelinek <ja...@redhat.com> + + PR target/118623 + * config/i386/i386.md (*bt<mode>): Represent bt as + compare:CCC of const0_rtx and zero_extract rather than + zero_extract and const0_rtx. + (*bt<SWI48:mode>_mask): Likewise. + (*jcc_bt<mode>): Likewise. Use LTU and GEU as flags test + instead of EQ and NE. + (*jcc_bt<mode>_mask): Likewise. + (*jcc_bt<SWI48:mode>_mask_1): Likewise. + (Help combine recognize bt followed by cmov splitter): Likewise. + (*bt<mode>_setcqi): Likewise. + (*bt<mode>_setncqi): Likewise. + (*bt<mode>_setnc<mode>): Likewise. + (*bt<mode>_setncqi_2): Likewise. + (*bt<mode>_setc<mode>_mask): Likewise. + +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-13 Jakub Jelinek <ja...@redhat.com> + + PR c++/118822 + * tree-iterator.h (tsi_split_stmt_list): Declare. + * tree-iterator.cc (tsi_split_stmt_list): New function. + 2025-05-14 Kyle Huey <m...@kylehuey.com> Backported from master: diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 63e8d5b6f5bd..e01bdfb865b5 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250515 +20250516 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 2aef67ccfb84..3d65f9785b1b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,31 @@ +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-13 Jakub Jelinek <ja...@redhat.com> + + PR c++/118822 + * c-common.h (WHILE_COND_CLEANUP): Change description in comment. + (FOR_COND_CLEANUP): Likewise. + * c-gimplify.cc (genericize_c_loop): Adjust for COND_CLEANUP + being CLEANUP_STMT/TRY_FINALLY_EXPR trailing nesting depth + instead of actual cleanup. + +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-07 Jakub Jelinek <ja...@redhat.com> + Jason Merrill <ja...@redhat.com> + + PR c++/86769 + * c-common.def (FOR_STMT): Add 2 operands and document them. + (WHILE_STMT): Likewise. + * c-common.h (WHILE_COND_PREP, WHILE_COND_CLEANUP): Define. + (FOR_COND_PREP, FOR_COND_CLEANUP): Define. + * c-gimplify.cc (genericize_c_loop): Add COND_PREP and COND_CLEANUP + arguments, handle them if they are non-NULL. + (genericize_for_stmt, genericize_while_stmt, genericize_do_stmt): + Adjust callers. + 2025-03-22 Martin Uecker <uec...@tugraz.at> Backported from master: diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 2e9537a90de4..c1c434ca9d13 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,14 @@ +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-07 Jakub Jelinek <ja...@redhat.com> + Jason Merrill <ja...@redhat.com> + + PR c++/86769 + * c-parser.cc (c_parser_while_statement): Add 2 further NULL_TREE + operands to build_stmt. + (c_parser_for_statement): Likewise. + 2025-05-14 Joseph Myers <josmy...@redhat.com> Backported from master: diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fab3f272402e..a869030f6621 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,49 @@ +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-13 Jakub Jelinek <ja...@redhat.com> + + PR c++/118822 + * semantics.cc (adjust_loop_decl_cond): Allow multiple trailing + CLEANUP_STMT levels in *BODY_P. Set *CLEANUP_P to the number + of levels rather than one particular cleanup, keep the cleanups + in *PREP_P. Set *BODY_P to the last stmt in the cur_stmt_list + or NULL if *CLEANUP_P and the innermost cur_stmt_list is empty. + (finish_loop_cond_prep): New function. + (finish_while_stmt, finish_for_stmt): Use it. Don't call + set_one_cleanup_loc. + * constexpr.cc (cxx_eval_loop_expr): Adjust handling of + {FOR,WHILE}_COND_{PREP,CLEANUP}. + +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-07 Jakub Jelinek <ja...@redhat.com> + Jason Merrill <ja...@redhat.com> + + PR c++/86769 + * semantics.cc (set_one_cleanup_loc): New function. + (set_cleanup_locs): Use it. + (simplify_loop_decl_cond): Remove. + (adjust_loop_decl_cond): New function. + (begin_while_stmt): Add 2 further NULL_TREE operands to build_stmt. + (finish_while_stmt_cond): Call adjust_loop_decl_cond instead of + simplify_loop_decl_cond. + (finish_while_stmt): Call do_poplevel also on WHILE_COND_PREP if + non-NULL and also use pop_stmt_list rather than do_poplevel for + WHILE_BODY in that case. Call set_one_cleanup_loc. + (begin_for_stmt): Add 2 further NULL_TREE operands to build_stmt. + (finish_for_cond): Call adjust_loop_decl_cond instead of + simplify_loop_decl_cond. + (finish_for_stmt): Call do_poplevel also on FOR_COND_PREP if non-NULL + and also use pop_stmt_list rather than do_poplevel for FOR_BODY in + that case. Call set_one_cleanup_loc. + * constexpr.cc (cxx_eval_loop_expr): Handle + {WHILE,FOR}_COND_{PREP,CLEANUP}. + (check_for_return_continue): Handle {WHILE,FOR}_COND_PREP. + (potential_constant_expression_1): RECUR on + {WHILE,FOR}_COND_{PREP,CLEANUP}. + 2025-05-14 Iain Sandoe <i...@sandoe.co.uk> PR c++/113773 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aae27986e9d8..2955ef40fead 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,38 @@ +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-10 Jakub Jelinek <ja...@redhat.com> + + PR target/118623 + * gcc.c-torture/execute/pr118623.c: New test. + +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-13 Jakub Jelinek <ja...@redhat.com> + + PR c++/118822 + * g++.dg/expr/for9.C: New test. + +2025-05-15 Jakub Jelinek <ja...@redhat.com> + + Backported from master: + 2025-02-07 Jakub Jelinek <ja...@redhat.com> + Jason Merrill <ja...@redhat.com> + + PR c++/86769 + * g++.dg/diagnostic/redeclaration-7.C: New test. + * g++.dg/expr/for3.C: New test. + * g++.dg/expr/for4.C: New test. + * g++.dg/expr/for5.C: New test. + * g++.dg/expr/for6.C: New test. + * g++.dg/expr/for7.C: New test. + * g++.dg/expr/for8.C: New test. + * g++.dg/ext/stmtexpr27.C: New test. + * g++.dg/cpp2a/constexpr-86769.C: New test. + * g++.dg/cpp26/name-independent-decl7.C: New test. + * g++.dg/cpp26/name-independent-decl8.C: New test. + 2025-05-14 Iain Sandoe <i...@sandoe.co.uk> PR c++/113773