[gcc r16-7201] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Sat Jan 31 00:17:08 GMT 2026


https://gcc.gnu.org/g:7875ee88c301c9bbe6d587a7624b8515900110eb

commit r16-7201-g7875ee88c301c9bbe6d587a7624b8515900110eb
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Jan 31 00:16:35 2026 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 125 ++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |  18 +++++++
 gcc/algol68/ChangeLog   |   4 ++
 gcc/cp/ChangeLog        |  21 ++++++++
 gcc/d/ChangeLog         |  41 +++++++++++++++
 gcc/fortran/ChangeLog   |   8 +++
 gcc/testsuite/ChangeLog | 129 ++++++++++++++++++++++++++++++++++++++++++++++++
 libatomic/ChangeLog     |   7 +++
 libcpp/ChangeLog        |   8 +++
 libga68/ChangeLog       |  13 +++++
 libphobos/ChangeLog     |  11 +++++
 libstdc++-v3/ChangeLog  |  61 +++++++++++++++++++++++
 13 files changed, 447 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 813d0471ec5d..1c860be256e9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,128 @@
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/123887
+	* match.pd ((zero_one ==/!= 0) ? .. z <op> y .. -> zero_one * z ..):
+	Check evaluating z unconditionally has no side-effects, like
+	trapping.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR debug/123886
+	* dwarf2out.cc (sym_off_pair::sym): Remove GTY((skip)).
+
+2026-01-30  Michal Jires  <mjires@suse.cz>
+
+	* doc/extend.texi: Mention flto-toplevel-asm-heuristics.
+	* doc/invoke.texi: Add flto-toplevel-asm-heuristics.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR debug/110885
+	* dwarf2out.cc (generate_skeleton_bottom_up): Generate the
+	skeleton ancestor tree when moving a new child to the parent
+	even for template instantiations.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/123864
+	* match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
+	x > stype_max / cst || x < stype_min / cst): Only check
+	integer_minus_onep for signed types.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/123790
+	* fold-const.cc (fold_convert_const): Handle conversion of
+	integer_zerop to NULLPTR_TYPE.
+	(fold_convert_loc): Likewise.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	PR gcov-profile/123855
+	* path-coverage.cc (flush_on_edges): Only look up SSA name def
+	stmt when counter is non-const.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	* gcov-dump.cc (tag_paths): New function.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	* common.opt: ftest-coverage enabled by fpath-coverage or
+	fcondition-coverage
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	* gcov-dump.cc (tag_conditions):  Read position before blocks,
+	terms.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	PR gcov-profile/121084
+	PR gcov-profile/121123
+	PR gcov-profile/121409
+	* profile.cc (branch_prob): Record seen_locations without
+	discriminators.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/123876
+	* omp-low.cc (diagnose_sb_2): Handle GIMPLE_ASM.
+
+2026-01-30  Alex Coplan  <alex.coplan@arm.com>
+
+	PR target/123206
+	* config/aarch64/aarch64-builtins.cc (struct aarch64_pragma_builtins_data):
+	Declare array as CONSTEXPR.
+	* config/aarch64/aarch64-simd-pragma-builtins.def: Update
+	incorrect uses of TARGET_SIMD to use AARCH64_FL_SIMD instead.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/109410
+	* tree-ssa-reassoc.cc (build_and_add_sum): Use
+	gsi_start_nondebug_after_labels_bb to look for a possible
+	returns-twice call.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* config/darwin-d.cc (darwin_d_os_builtins): Add Apple.
+
+2026-01-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	PR rtl-optimization/122170
+	* ifcvt.cc (noce_can_force_operand): Don't only check if
+	there is an optab for the code check the entry for the
+	mode is non-null. Handle non integral div by checking
+	optab like force_operand does.
+
+2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+
+	* config/loongarch/loongarch-ftypes.def: Remove unused type.
+
+2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+
+	PR target/123766
+	* config/loongarch/loongarch-builtins.cc
+	(loongarch_build_vpointer_type): New function.  Return a type
+	for 'volatile void *'.
+	(LARCH_ATYPE_VPOINTER): New macro.
+	* config/loongarch/loongarch-ftypes.def: Change the pointer
+	type of the store class function from CVPOINTER to VPOINTER.
+
+2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+
+	PR target/123807
+	* config/loongarch/loongarch.cc
+	(loongarch_expand_vector_init_same): When same is MEM and
+	GET_MODE(same) != imode, first load the data from memory
+	and then process it further.
+
+2026-01-30  mengqinggang  <mengqinggang@loongson.cn>
+
+	* config/loongarch/loongarch.md: Delete movsf TARGET_HARD_FLOAT
+	condition.
+
 2026-01-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
 
 	PR middle-end/123869
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 384d419acf08..8bf8c41467f5 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260130
+20260131
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index a84735fee6cb..0e97ef0192dd 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,21 @@
+2026-01-30  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch8.adb (End_Use_Type): Remove test of Prev_Use_Clause as
+	as a condition for resetting In_Use and Current_Use_Clause, and
+	change setting of that flag and field based on Prev_Use_Clause
+	rather than setting them to Empty. Revise preceding comment.
+
+2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/123867
+	* sem_ch10.adb (Analyze_Compilation_Unit): Output info message
+	when -gnatdi is specified.
+	(Install_Parents): Likewise.  Set the Is_Visible_Lib_Unit flag
+	on the unit.
+	(Install_Private_With_Clauses): Do not output info message here.
+	(Remove_Parents): Output info message when -gnatdi is specified
+	and clear the Is_Visible_Lib_Unit flag on the unit.
+
 2026-01-29  Eric Botcazou  <ebotcazou@adacore.com>
 
 	PR ada/123861
diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog
index 3db2231d3509..084e230ed00f 100644
--- a/gcc/algol68/ChangeLog
+++ b/gcc/algol68/ChangeLog
@@ -1,3 +1,7 @@
+2026-01-30  Marc Poulhiès  <dkm@kataplop.net>
+
+	* ga68-coding-guidelines.texi: Typo fix.
+
 2026-01-29  Jose E. Marchesi  <jemarch@gnu.org>
 
 	* ga68.vw: Update formal grammar to express the GNU extension.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 35c16b773b46..6cd32988da2c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,24 @@
+2026-01-30  Patrick Palka  <ppalka@redhat.com>
+
+	PR c++/123845
+	PR libstdc++/114865
+	* constexpr.cc (build_data_member_initialization): Remove
+	C++11-specific recognition of MODIFY_EXPR.
+	(check_constexpr_ctor_body): Relax error diagnostic to a
+	pedwarn and don't clear DECL_DECLARED_CONSTEXPR_P upon
+	error.  Return true if complaining.
+
+2026-01-30  Marek Polacek  <polacek@redhat.com>
+
+	* reflect.cc (eval_define_aggregate): Also give an error when
+	TYPE_BEING_DEFINED is true for the first argument.  Remove code
+	that did the same.
+
+2026-01-30  Marek Polacek  <polacek@redhat.com>
+
+	* reflect.cc (eval_can_substitute): Check undeduced_auto_decl after
+	resolve_nondeduced_context_or_error.
+
 2026-01-29  Marek Polacek  <polacek@redhat.com>
 
 	* reflect.cc (eval_has_template_arguments): Return immediately after
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index c84de9647650..fde13f85ba3f 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,3 +1,44 @@
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* dmd/MERGE: Merge upstream dmd 1017635a96.
+	* dmd/VERSION: Bump version to v2.112.0-beta.1.
+	* decl.cc (DeclVisitor::finish_vtable): Update for new front-end
+	interface.
+	(DeclVisitor::visit): Likewise.
+	* typeinfo.cc (TypeInfoVisitor::visit): Likewise.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* decl.cc (DeclVisitor::visit (EnumDeclaration *)): Treat sinit member
+	field as a generic pointer.
+	(enum_initializer_decl): Likewise.
+	* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Compute static
+	array length separately from creating type.
+	* modules.cc (struct module_info): Add ctor_decl, dtor_decl,
+	sharedctor_decl, shareddtor_decl, standalonector_decl, and
+	unittest_decl.
+	(layout_moduleinfo_fields): Add mi argument. Use it to check whether
+	module helpers have been generated.
+	(layout_moduleinfo): Likewise.
+	(build_module_tree): Cache generated module helpers in module_info.
+	* typeinfo.cc (cpp_type_info_ptrs): New variable.
+	(get_cpp_typeinfo_decl): Cache generated C++ type_info references in
+	cpp_type_info_ptrs.
+	* types.cc (TypeVisitor::visit (TypeEnum *)): Separate getting
+	front-end member value from building its CST tree.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	PR d/123263
+	* d-codegen.cc (d_decl_context): Set DECL_CONTEXT of compiler
+	generated functions to that of parent module.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	PR d/123264
+	* types.cc (finish_aggregate_type): Propagate struct TYPE_NAME to all
+	TYPE_NEXT_VARIANT types.
+
 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
 
 	PR d/123407
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fe33dfbecc62..af2534437921 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2026-01-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/123868
+	* trans-array.cc (structure_alloc_comps): For COPY_ALLOC_COMP,
+	remove the add_when_allocated != NULL_TREE clause that PR121628
+	added.  This clause was redundant for scalars and caused double
+	allocation for arrays with nested allocatable components.
+
 2026-01-27  Tobias Burnus  <tburnus@baylibre.com>
 
 	* openmp.cc (resolve_omp_clauses): Reject groupprivate/device-local
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d0a134dffa8b..ff3acb272b12 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,132 @@
+2026-01-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/123868
+	* gfortran.dg/array_memcpy_2.f90: Update expected memcpy count
+	from 4 to 3, as the double allocation bug is now fixed.
+	* gfortran.dg/pr123868.f90: New test.
+	Signed-off-by: Christopher Albert <albert@alumni.tugraz.at>
+
+2026-01-30  Patrick Palka  <ppalka@redhat.com>
+
+	PR c++/123845
+	PR libstdc++/114865
+	* g++.dg/cpp0x/constexpr-ex3.C: Adjust C++11 non-empty
+	constexpr constructor dg-error to a dg-warning.  Expect
+	a follow-up missing member initializer diagnostic in C++11 mode.
+	* g++.dg/cpp2a/constexpr-try1.C: Expect a follow-up
+	compound-statement in constexpr function diagnostic in C++11
+	mode.
+	* g++.dg/cpp2a/constexpr-try2.C: Likewise.  Adjust C++11
+	non-empty constexpr constructor dg-error to a dg-warning.
+	* g++.dg/cpp2a/constexpr-try3.C:  Adjust C++11 non-empty
+	constexpr constructor dg-error to a dg-warning.
+	* g++.dg/cpp0x/constexpr-ctor23.C: New test.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/123887
+	* gcc.dg/torture/pr123887.c: New testcase.
+
+2026-01-30  Marek Polacek  <polacek@redhat.com>
+
+	* g++.dg/reflect/define_aggregate3.C: Adjust expected diagnostic.
+	* g++.dg/reflect/p2996-21.C: Likewise.
+
+2026-01-30  Marek Polacek  <polacek@redhat.com>
+
+	* g++.dg/reflect/substitute3.C: New test.
+
+2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnat.dg/specs/limited_with3.ads: New test.
+	* gnat.dg/specs/limited_with3-child.ads: New helper.
+	* gnat.dg/specs/limited_with3-child-grandchild.ads: Likewise.
+	* gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads:
+	Likewise.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR debug/110885
+	* g++.dg/debug/dwarf2/pr110885.C: New testcase.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/123864
+	* gcc.c-torture/execute/pr123864.c: New test.
+	* gcc.dg/torture/pr123864.c: New test.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/123790
+	* g++.dg/cpp0x/nullptr47.C: New test.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* gdc.dg/asm1.d: Adjust test.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	PR gcov-profile/123855
+	* gcc.misc-tests/gcov-pr123855.c: New test.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	* g++.dg/gcov/gcov-18.C: Remove --coverage.
+	* g++.dg/gcov/gcov-22.C: Likewise.
+	* gcc.misc-tests/gcov-19.c: Remove -ftest-coverage.
+	* gcc.misc-tests/gcov-29.c: Likewise.
+
+2026-01-30  Jørgen Kvalsvik  <j@lambda.is>
+
+	* gcc.misc-tests/gcov-29.c: Expect 6 prime paths in test.
+	* gcc.misc-tests/gcov-30.c: Likewise.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/123876
+	* gcc.dg/gomp/pr123876.c: New test.
+
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR preprocessor/123273
+	* c-c++-common/cpp/dir-only-10.c: New test.
+	* c-c++-common/cpp/dir-only-11.c: New test.
+
+2026-01-30  Alex Coplan  <alex.coplan@arm.com>
+
+	PR target/123206
+	* gcc.target/aarch64/pr123206.c: New test.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	PR d/123263
+	* gdc.dg/debug/pr123263.d: New test.
+
+2026-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/109410
+	* gcc.dg/pr109410-2.c: New testcase.
+
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	PR d/123264
+	* gdc.dg/pr123264.d: New test.
+
+2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+
+	PR target/123766
+	* gcc.target/loongarch/vector/lasx/pr123766.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr123766.c: New test.
+
+2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+
+	PR target/123807
+	* gcc.target/loongarch/vector/lsx/pr123807.c: New test.
+
+2026-01-30  mengqinggang  <mengqinggang@loongson.cn>
+
+	* gcc.target/loongarch/la64/movsf.c: New test.
+
 2026-01-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
 
 	* gcc.target/i386/pr116353.c: Move to...
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index 58ba45e9b2bc..d37cbb7bd8d2 100644
--- a/libatomic/ChangeLog
+++ b/libatomic/ChangeLog
@@ -1,3 +1,10 @@
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile.am (all-local, install-asneeded): Only create
+	libatomic_asneeded.so script if libatomic.so exist, only
+	create libatomic_asneeded.a symlink if libatomic.a exist.
+	* Makefile.in: Regenerate.
+
 2026-01-19  Jakub Jelinek  <jakub@redhat.com>
 
 	PR libgcc/123650
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 264defe2a250..1bb7967e9891 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,11 @@
+2026-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR preprocessor/123273
+	* lex.cc (cpp_directive_only_process): Only go to done_comment
+	for '/' if star is true and esc is false.  When seeing '\\' with
+	esc set to true, clear esc as well as star instead of keeping esc
+	set.
+
 2026-01-15  Marek Polacek  <polacek@redhat.com>
 	    Jakub Jelinek  <jakub@redhat.com>
 
diff --git a/libga68/ChangeLog b/libga68/ChangeLog
index ba76f9121525..c475f9680253 100644
--- a/libga68/ChangeLog
+++ b/libga68/ChangeLog
@@ -1,3 +1,16 @@
+2026-01-30  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* ga68-alloc.c (_libga68_realloc_internal): New function.
+	* ga68-posix.c (_libga68_posixperror): Adjust calls to _libga68_u32_to_u8.
+	(_libga68_posixfopen): Likewise.
+	(_libga68_posixcreat): Likewise.
+	(_libga68_posixgetenv): Likewise.
+	(_libga68_posixfputs): Likewise.
+	(_libga68_posixfconnect): Likewise.
+	* ga68-unistr.c (_libga68_u32_to_u8): Use internal allocator.
+	* ga68.h (_libga68_realloc_internal): New prototype.
+	(_libga68_u32_to_u8): Update prototype.
+
 2026-01-24  Jose E. Marchesi  <jemarch@gnu.org>
 
 	PR algol68/123733
diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog
index c6c56a3eb750..f0849dcf1ab1 100644
--- a/libphobos/ChangeLog
+++ b/libphobos/ChangeLog
@@ -1,3 +1,14 @@
+2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* libdruntime/MERGE: Merge upstream druntime 1017635a96.
+	* libdruntime/Makefile.am (DRUNTIME_DSOURCES_LINUX): Add
+	core/sys/linux/sys/syscall.d, core/sys/linux/syscall.d.
+	* libdruntime/Makefile.in: Regenerate.
+	* src/MERGE: Merge upstream phobos 5a142da0a.
+	* src/Makefile.am (PHOBOS_DSOURCES): Remove
+	std/internal/windows/bcrypt.d.
+	* src/Makefile.in: Regenerate.
+
 2026-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
 
 	PR d/122800
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e5c812f9514b..9e28edae2d02 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,64 @@
+2026-01-30  Patrick Palka  <ppalka@redhat.com>
+
+	* include/bits/regex_executor.tcc (__detail::_Executor::_M_node)
+	[__OPTIMIZE__]: Add [[gnu::always_inline]] attribute.  Declare
+	inline.
+
+2026-01-30  Patrick Palka  <ppalka@redhat.com>
+
+	PR libstdc++/86164
+	* include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode):
+	Remove _S_fopcode_restore_current.
+	(__detail::_Executor::_M_handle_repeat): Pass _M_current when
+	pushing a fallback_next or fallback_rep_once_more frame.
+	(__detail::_Executor::_M_handle_match): Don't push a
+	restore_current frame.
+	(__detail::_Executor::_M_handle_backref): Likewise and simplify
+	accordingly.
+	(__detail::_Executor::_M_handle_alternative): Pass _M_current when
+	pushing a fallback_next or posix_alternative frame.
+	(__detail::_Executor::_M_dfs) <case _S_fopcode_fallback_next>:
+	Restore _M_current.
+	<case _S_fopcode_fallback_rep_once_more>: Likewise.
+	<case _S_fopcode_posix_alternative>: Likewise.
+	<case _S_fopcode_restore_current>: Remove.
+
+2026-01-30  Patrick Palka  <ppalka@redhat.com>
+
+	PR libstdc++/86164
+	* include/bits/regex.h (__detail::_Executor): Use inline
+	namespace _V2.
+	* include/bits/regex_executor.h (__detail::_ExecutorFrame):
+	Declare.
+	(__detail::_Executor): Use inline namespace _V2.
+	(__detail::_Executor::_M_node): Declare.
+	(__detail::_Executor::_M_frames): New data member.
+	* include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode):
+	New.
+	(__detail::_ExecutorFrameBase): New.
+	(__detail::_ExecutorFrame): New.
+	(__detail::_Executor): Use inline namespace _V2.
+	(__detail::_Executor::_M_rep_once_more): Replace recursive
+	_M_dfs calls with an _S_opcode_next frame push, and any work
+	after such calls with an appropriate frame push.
+	(__detail::_M_handle_repeat): Likewise.
+	(__detail::_M_handle_subexpr_begin): Likewise.
+	(__detail::_M_handle_subexpr_end): Likewise.
+	(__detail::_M_handle_line_begin_assertion): Likewise.
+	(__detail::_M_handle_line_end_assertion): Likewise.
+	(__detail::_M_handle_word_boundary): Likewise.
+	(__detail::_M_handle_subexpr_lookahead): Likewise.
+	(__detail::_M_handle_match): Likewise.
+	(__detail::_M_handle_backref): Likewise.
+	(__detail::_M_handle_accept): Likewise.
+	(__detail::_M_handle_alternative): Likewise.
+	(__detail::_M_node): Factored out from _M_dfs.
+	(__detail::_M_dfs): Push an initial frame to _M_frames that
+	visits the starting node and pass this stack each subroutine.
+	Pop the latest _ExecutorFrame from _M_frames and handle
+	appropriately according to its _ExecutorFrameOpcode.  Loop until
+	_M_frames is empty.
+
 2026-01-29  Jonathan Wakely  <jwakely@redhat.com>
 
 	* include/std/expected (__expected::__trivially_replaceable)


More information about the Libstdc++-cvs mailing list