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 + + PR middle-end/123887 + * match.pd ((zero_one ==/!= 0) ? .. z y .. -> zero_one * z ..): + Check evaluating z unconditionally has no side-effects, like + trapping. + +2026-01-30 Richard Biener + + PR debug/123886 + * dwarf2out.cc (sym_off_pair::sym): Remove GTY((skip)). + +2026-01-30 Michal Jires + + * doc/extend.texi: Mention flto-toplevel-asm-heuristics. + * doc/invoke.texi: Add flto-toplevel-asm-heuristics. + +2026-01-30 Richard Biener + + 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 + + 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 + + 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 + + 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 + + * gcov-dump.cc (tag_paths): New function. + +2026-01-30 Jørgen Kvalsvik + + * common.opt: ftest-coverage enabled by fpath-coverage or + fcondition-coverage + +2026-01-30 Jørgen Kvalsvik + + * gcov-dump.cc (tag_conditions): Read position before blocks, + terms. + +2026-01-30 Jørgen Kvalsvik + + 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 + + PR middle-end/123876 + * omp-low.cc (diagnose_sb_2): Handle GIMPLE_ASM. + +2026-01-30 Alex Coplan + + 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 + + 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 + + * config/darwin-d.cc (darwin_d_os_builtins): Add Apple. + +2026-01-30 Andrew Pinski + + 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 + + * config/loongarch/loongarch-ftypes.def: Remove unused type. + +2026-01-30 Lulu Cheng + + 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 + + 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 + + * config/loongarch/loongarch.md: Delete movsf TARGET_HARD_FLOAT + condition. + 2026-01-29 Andrew Pinski 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 + + * 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 + + 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 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 + + * ga68-coding-guidelines.texi: Typo fix. + 2026-01-29 Jose E. Marchesi * 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 + + 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 + + * 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 + + * reflect.cc (eval_can_substitute): Check undeduced_auto_decl after + resolve_nondeduced_context_or_error. + 2026-01-29 Marek Polacek * 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 + + * 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 + + * 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 + + 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 + + PR d/123264 + * types.cc (finish_aggregate_type): Propagate struct TYPE_NAME to all + TYPE_NEXT_VARIANT types. + 2026-01-29 Iain Buclaw 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 + + 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 * 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 + + 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 + +2026-01-30 Patrick Palka + + 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 + + PR middle-end/123887 + * gcc.dg/torture/pr123887.c: New testcase. + +2026-01-30 Marek Polacek + + * g++.dg/reflect/define_aggregate3.C: Adjust expected diagnostic. + * g++.dg/reflect/p2996-21.C: Likewise. + +2026-01-30 Marek Polacek + + * g++.dg/reflect/substitute3.C: New test. + +2026-01-30 Eric Botcazou + + * 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 + + PR debug/110885 + * g++.dg/debug/dwarf2/pr110885.C: New testcase. + +2026-01-30 Jakub Jelinek + + PR tree-optimization/123864 + * gcc.c-torture/execute/pr123864.c: New test. + * gcc.dg/torture/pr123864.c: New test. + +2026-01-30 Jakub Jelinek + + PR c++/123790 + * g++.dg/cpp0x/nullptr47.C: New test. + +2026-01-30 Iain Buclaw + + * gdc.dg/asm1.d: Adjust test. + +2026-01-30 Jørgen Kvalsvik + + PR gcov-profile/123855 + * gcc.misc-tests/gcov-pr123855.c: New test. + +2026-01-30 Jørgen Kvalsvik + + * 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 + + * gcc.misc-tests/gcov-29.c: Expect 6 prime paths in test. + * gcc.misc-tests/gcov-30.c: Likewise. + +2026-01-30 Jakub Jelinek + + PR middle-end/123876 + * gcc.dg/gomp/pr123876.c: New test. + +2026-01-30 Jakub Jelinek + + 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 + + PR target/123206 + * gcc.target/aarch64/pr123206.c: New test. + +2026-01-30 Iain Buclaw + + PR d/123263 + * gdc.dg/debug/pr123263.d: New test. + +2026-01-30 Richard Biener + + PR tree-optimization/109410 + * gcc.dg/pr109410-2.c: New testcase. + +2026-01-30 Iain Buclaw + + PR d/123264 + * gdc.dg/pr123264.d: New test. + +2026-01-30 Lulu Cheng + + 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 + + PR target/123807 + * gcc.target/loongarch/vector/lsx/pr123807.c: New test. + +2026-01-30 mengqinggang + + * gcc.target/loongarch/la64/movsf.c: New test. + 2026-01-29 Andrew Pinski * 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 + + * 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 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 + + 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 Jakub Jelinek 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 + + * 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 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 + + * 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 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 + + * include/bits/regex_executor.tcc (__detail::_Executor::_M_node) + [__OPTIMIZE__]: Add [[gnu::always_inline]] attribute. Declare + inline. + +2026-01-30 Patrick Palka + + 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) : + Restore _M_current. + : Likewise. + : Likewise. + : Remove. + +2026-01-30 Patrick Palka + + 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 * include/std/expected (__expected::__trivially_replaceable)