https://gcc.gnu.org/g:69b4da776140629247a6a09e5a7ee22ec86a156a
commit r16-8453-g69b4da776140629247a6a09e5a7ee22ec86a156a Author: GCC Administrator <[email protected]> Date: Sat Apr 4 00:16:27 2026 +0000 Daily bump. Diff: --- gcc/ChangeLog | 33 ++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 6 +++++ gcc/cp/ChangeLog | 55 ++++++++++++++++++++++++++++++++++++++++ gcc/fortran/ChangeLog | 17 +++++++++++++ gcc/testsuite/ChangeLog | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ libstdc++-v3/ChangeLog | 28 +++++++++++++++++++++ 7 files changed, 207 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05008267962d..376f95759e6b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,36 @@ +2026-04-03 Sandra Loosemore <[email protected]> + + PR c/123234 + * doc/extend.texi (Decimal Float): Clarify that GCC really does + support only the older N1312 draft as documented here, not the + standard C23 functionality yet. + +2026-04-03 Jakub Jelinek <[email protected]> + + PR tree-optimization/124754 + * tree-ssa-strlen.cc (strlen_pass::handle_builtin_strcpy): Make + sure both get_stridx calls are done before first get_strinfo call. + (strlen_pass::handle_builtin_memcpy): Likewise. + (strlen_pass::handle_builtin_strcat): Likewise. + +2026-04-03 Sandra Loosemore <[email protected]> + + PR debug/94491 + * doc/invoke.texi (Debugging Options): Explicitly document what + -g2 does instead of just saying it's the default. + +2026-04-03 Sandra Loosemore <[email protected]> + + PR other/94182 + * doc/implement-c.texi (Characters implementation): Add + cross-reference to more detailed discussion about signedness. + * doc/invoke.texi (C Dialect Options): Combine -fsigned-char + and -funsigned-char table entries since the following discussion + applies to both. Add an anchor so other things can point at it. + (Warning Options): Add cross-references to the above two places. + Clarify that the warning is given regardless of whether char is + signed or unsigned. + 2026-04-02 Andrew Pinski <[email protected]> PR tree-optimization/124746 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index aa616bdb404b..05c465eb48c8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260403 +20260404 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a06721652b38..5edbfcdb1428 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2026-04-03 Tonu Naks <[email protected]> + + * doc/gnat_rm/gnat_language_extensions.rst: Adjust rules for + structural generic instantiations. + * gnat_rm.texi: Regenerate. + 2026-03-31 Eric Botcazou <[email protected]> * sem_attr.adb (Analyze_Attribute) <Attribute_Reduce>: Rewrite the diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index daeeb0e13f5a..dd4d9fe2425e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,58 @@ +2026-04-03 Alexandre Oliva <[email protected]> + + * coroutines.cc (cp_coroutine_transform::build_ramp_function): + Zero-initialize refcount. + +2026-04-03 Jakub Jelinek <[email protected]> + + * cp-trait.def (__builtin_is_structural): New trait. + * semantics.cc (trait_expr_value): Handle CPTK_IS_STRUCTURAL. + (finish_trait_expr): Likewise. + * constraint.cc (diagnose_trait_expr): Likewise. + * metafns.gperf (enum metafn_code): Add METAFN_IS_STRUCTURAL_TYPE. + (is_structural_type): New metafn. + * metafns.h: Regenerate. + * reflect.cc (eval_is_structural_type): New function. + (process_metafunction): Handle METAFN_IS_STRUCTURAL_TYPE. + +2026-04-03 Jakub Jelinek <[email protected]> + + * cp-tree.h (enum cp_built_in_function): Add + CP_BUILT_IN_CURRENT_EXCEPTION and CP_BUILT_IN_UNCAUGHT_EXCEPTIONS. + * tree.cc (builtin_valid_in_constant_expr_p): Handle + those. + * decl.cc (cxx_init_decl_processing): Build + decls for CP_BUILT_IN_CURRENT_EXCEPTION and + CP_BUILT_IN_UNCAUGHT_EXCEPTIONS. + (require_deduced_type): Deduce CP_BUILT_IN_CURRENT_EXCEPTION + return type. + * cp-gimplify.cc (cp_gimplify_expr): Handle + CP_BUILT_IN_CURRENT_EXCEPTION and CP_BUILT_IN_UNCAUGHT_EXCEPTIONS. + * constexpr.cc (enum cxa_builtin): Remove STD_UNCAUGHT_EXCEPTIONS + and STD_CURRENT_EXCEPTION, add BUILTIN_UNCAUGHT_EXCEPTIONS and + BUILTIN_CURRENT_EXCEPTION, renumber some enumerators. + (cxx_cxa_builtin_fn_p): Don't check for std::uncaught_exceptions + nor std::current_exception. + (cxx_eval_cxa_builtin_fn): Handle BUILTIN_UNCAUGHT_EXCEPTIONS + and BUILTIN_CURRENT_EXCEPTION instead of STD_UNCAUGHT_EXCEPTIONS + and STD_CURRENT_EXCEPTION. + (cxx_eval_builtin_function_call): Handle + CP_BUILT_IN_CURRENT_EXCEPTION and CP_BUILT_IN_UNCAUGHT_EXCEPTIONS. + Do just one fndecl_builtin_p check for BUILT_IN_FRONTEND and + switch on DECL_FE_FUNCTION_CODE. + +2026-04-03 Jakub Jelinek <[email protected]> + + * reflect.cc (eval_data_member_spec): Implement C++26 LWG4517 + - data_member_spec should throw for cv-qualified unnamed bit-fields. + +2026-04-03 Jakub Jelinek <[email protected]> + + PR c++/124531 + * init.cc (build_vec_init): Call braced_lists_to_strings for + array CONSTRUCTORs. Handle RAW_DATA_CST and handle RANGE_EXPR + correctly. + 2026-04-02 Nathaniel Shead <[email protected]> PR c++/124477 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bc0fe0d5cf6e..dd7bec4a0e51 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,20 @@ +2026-04-03 Harald Anlauf <[email protected]> + + PR fortran/124652 + * trans-expr.cc (gfc_conv_procedure_call): Do not clobber a + procedure pointer intent(out) argument. + * trans-intrinsic.cc (conv_isocbinding_function): When passing to + C_FUNLOC a procedure pointer that is a dummy, dereference it. + +2026-04-03 Paul Thomas <[email protected]> + + PR fortran/100155 + * trans-expr.cc (gfc_add_interface_mapping): 'new_sym' dummy + attribute set to zero. + (gfc_conv_procedure_call): Deallocate allocatable components of + a class argument, enclosed in parentheses,wrap up the parmse + and proceed to the next argument. + 2026-04-02 Christopher Albert <[email protected]> Paul Thomas <[email protected]> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 00d22178d46a..6dcec995d3d9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,70 @@ +2026-04-03 H.J. Lu <[email protected]> + + PR target/123210 + * gcc.target/i386/pr123210.c: New test. + +2026-04-03 Jakub Jelinek <[email protected]> + + PR tree-optimization/124754 + * g++.dg/tree-ssa/strlenopt-3.C: New test. + +2026-04-03 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/type_trait14.C: New test. + * g++.dg/reflect/eh1.C: Add test for is_structural_type. + * g++.dg/reflect/eh2.C: Likewise. + +2026-04-03 Jakub Jelinek <[email protected]> + + * g++.dg/cpp26/constexpr-eh3.C: Use __builtin_current_exception() + instead of std::current_exception() and + __builttin_uncaught_exceptions() instead of + std::uncaught_exceptions(). Remove nested_exception related parts + of the test. + * g++.dg/cpp26/constexpr-eh8.C: Use __builtin_current_exception() + instead of std::current_exception(). + +2026-04-03 Harald Anlauf <[email protected]> + + PR fortran/124652 + * gfortran.dg/c_funloc_tests_10.f90: New test. + +2026-04-03 Christopher Albert <[email protected]> + + PR fortran/98203 + PR fortran/98203 + * gfortran.dg/gomp/pr98203.f90: New test. + +2026-04-03 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/data_member_spec2.C: Add tests for unnamed bit-fields + with const and/or volatile types. + +2026-04-03 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/define_aggregate10.C: New test. + +2026-04-03 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/lwg4556.C: New test. + +2026-04-03 Jakub Jelinek <[email protected]> + + PR c++/124531 + * g++.dg/cpp/embed-29.C: New test. + * g++.dg/cpp0x/pr124531.C: New test. + +2026-04-03 Christopher Albert <[email protected]> + + PR fortran/95163 + PR fortran/95163 + * gfortran.dg/gomp/pr95163.f90: New test. + +2026-04-03 Paul Thomas <[email protected]> + + PR fortran/100155 + * gfortran.dg/pr100155.f90: New test. + 2026-04-02 Nathaniel Shead <[email protected]> PR c++/124477 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ab9e329ac406..96cad9a88eac 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,31 @@ +2026-04-03 Jakub Jelinek <[email protected]> + + * include/bits/version.def (is_structural): New. + * include/bits/version.h: Regenerate. + * include/std/type_traits (__glibcxx_want_is_structural): Define. + (std::is_structural): New type trait. + (std::is_structural_v): New type trait variable template. + * include/std/meta (std::meta::is_structural_type): New declaration. + * src/c++23/std.cc.in: Export std::is_structural, std::is_structural_v + and std::meta::is_structural_type. + * testsuite/20_util/is_structural/requirements/explicit_instantiation.cc: New test. + * testsuite/20_util/is_structural/requirements/typedefs.cc: New test. + * testsuite/20_util/is_structural/value.cc: New test. + * testsuite/20_util/variable_templates_for_traits.cc: Test + is_structural_v. + +2026-04-03 Jakub Jelinek <[email protected]> + + * libsupc++/exception_ptr.h (std::make_exception_ptr): Use + __builtin_current_exception() instead of current_exception() if + the builtin exists. + * libsupc++/nested_exception.h: Revert 2026-01-07 and 2025-07-10 + changes. + * testsuite/18_support/exception_ptr/exception_ptr_cast.cc (test01): + Use __builtin_current_exception instead of std::current_exception + if __has_builtin(__builtin_current_exception). Otherwise don't + try to constant evaluate test01. + 2026-04-02 Patrick Palka <[email protected]> * include/std/ranges (zip_view::size): Uglify 'sizes'
