https://gcc.gnu.org/g:b1fb2157605cd7729ca7e38b1851e4997ab8e74c
commit r16-8673-gb1fb2157605cd7729ca7e38b1851e4997ab8e74c Author: GCC Administrator <[email protected]> Date: Wed Apr 15 08:16:45 2026 +0000 Daily bump. Diff: --- config/ChangeLog | 6 + contrib/ChangeLog | 16 ++ gcc/ChangeLog | 118 ++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 12 ++ gcc/cp/ChangeLog | 96 +++++++++ gcc/d/ChangeLog | 4 + gcc/fortran/ChangeLog | 14 ++ gcc/m2/ChangeLog | 36 ++++ gcc/rust/ChangeLog | 502 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 292 ++++++++++++++++++++++++++++ libgcc/ChangeLog | 5 + libphobos/ChangeLog | 4 + libstdc++-v3/ChangeLog | 85 ++++++++ 14 files changed, 1191 insertions(+), 1 deletion(-) diff --git a/config/ChangeLog b/config/ChangeLog index 16adb71e88d0..92b186f0d7b0 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,9 @@ +2026-04-13 Torbjörn SVENSSON <[email protected]> + + PR target/69639 + * mh-cygwin: Increase to 64MB stack reserve. + * mh-mingw: Likewise. + 2026-02-04 Prachi Godbole <[email protected]> * bootstrap-lto-locality.mk (STAGEprofile_CFLAGS): Remove diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 855838f099f0..e1da606fd276 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,19 @@ +2026-04-15 Jakub Jelinek <[email protected]> + + * gcc-changelog/git_update_version.py: Add + 9df40f1f4bec855da864f535e242308ceb1cd5ad and + d5fb79718b22207253d62c92dcf8b1c16e1ea370 to ignored_commits. + +2026-04-15 Jakub Jelinek <[email protected]> + + * gcc-changelog/git_update_version.py: Add + eec8da328cf1f91db302ab4cee803e269e68ad33 to ignored_commits. + +2026-04-15 Jakub Jelinek <[email protected]> + + * gcc-changelog/git_update_version.py: Add + 69a2c243dd2cf9f77150c0eb86dfbc0931876bc1 to ignored_commits. + 2026-03-14 Jakub Jelinek <[email protected]> PR other/124508 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 51f9c66b0715..4b916a7c74c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,121 @@ +2026-04-15 H.J. Lu <[email protected]> + + * config/i386/i386.cc + (x86_64_preserve_none_int_parameter_registers): Replace + ix86_function_value_regno_p with ix86_function_arg_regno_p in + comments. + +2026-04-14 Tamar Christina <[email protected]> + + * config/aarch64/aarch64-cores.def (armagicpu): New. + * config/aarch64/aarch64-tune.md: Renegerate + * doc/invoke.texi: Document it. + +2026-04-14 Andrew MacLeod <[email protected]> + + PR tree-optimization/124809 + * value-relation.cc (equiv_oracle::equiv_oracle): Allocate lhs + equivalence bitmap. + (relation_oracle::record): Check if LHS has already created an + equivalence record. + * value-relation.h (relation_oracle::relation_oracle): New. + (relation_oracle::m_lhs_equiv_set_p): New. + +2026-04-14 Richard Earnshaw <[email protected]> + + PR target/123102 + * config/arm/arm.md (*cmp_ite0): Apply stricter checks on the + comparison mode. + (*cmp_ite1, *cmp_and, *cmp_ior): Likewise. + +2026-04-14 Martin Jambor <[email protected]> + + PR ipa/124777 + * ipa-cp.h (ipacp_value_safe_for_type): Declare. + * ipa-cp.cc (ipacp_value_safe_for_type): Make public. + * ipa-prop.cc (ipa_set_jf_cst_copy): Fix comment. + (ipa_convert_prop_cst_jf): New function. + (update_jump_functions_after_inlining): Handle the constant to + pass-through case by calling ipa_convert_prop_cst_jf. + +2026-04-14 Soumya AR <[email protected]> + + * config/aarch64/aarch64.opt.urls: Regenerate. + +2026-04-14 Richard Biener <[email protected]> + + PR tree-optimization/124875 + * tree-ssa-pre.cc (prefer): Also compare TBAA set and base_set. + Refactor computing the final prefered expression, do early outs + and allow same prefered expressions. + (sorted_array_from_bitmap_set): Fix thinko that prevented + the last expression in the set of being excluded. + +2026-04-14 Soumya AR <[email protected]> + Kyrylo Tkachov <[email protected]> + + * config.gcc: Add aarch64-narrow-gp-writes.o. + * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert + pass_narrow_gp_writes before pass_cleanup_barriers. + * config/aarch64/aarch64-protos.h (make_pass_narrow_gp_writes): Declare. + * config/aarch64/aarch64-tuning-flags.def + (AARCH64_EXTRA_TUNING_OPTION): Add NARROW_GP_WRITES. + * config/aarch64/aarch64.opt (mnarrow-gp-writes): New option. + * config/aarch64/t-aarch64: Add aarch64-narrow-gp-writes.o rule. + * config/aarch64/tuning_models/olympus.h: Add + AARCH64_EXTRA_TUNE_NARROW_GP_WRITES to tune_flags. + * doc/invoke.texi: Document -mnarrow-gp-writes. + * config/aarch64/aarch64-narrow-gp-writes.cc: New file. + +2026-04-14 Jakub Jelinek <[email protected]> + + PR tree-optimization/124826 + * gimple-lower-bitint.cc (bitint_large_huge::handle_load): Look through + BIT_FIELD_REF with zero bit offset. + +2026-04-14 Jakub Jelinek <[email protected]> + + * cgraphunit.cc (process_symver_attribute): Fix comment typo, + bintuils -> binutils. + +2026-04-14 Richard Biener <[email protected]> + + PR tree-optimization/124868 + * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg): + Do not diagnose returns in blocks not dominated by the PHI. + (find_implicit_erroneous_behavior): Do two sweeps over PHIs, + first for NULL dereferences and then for local address returns. + +2026-04-14 H.J. Lu <[email protected]> + + PR target/124876 + * config/i386/i386.cc (ix86_zero_call_used_regs): Zero ZMM16-31 + if needed. + +2026-04-13 Josef Melcr <[email protected]> + + PR ipa/124700 + * cgraph.cc (cgraph_node::is_clone_of): New method, determines + whether a node is a descendant of another in the clone tree. + * cgraph.h (struct cgraph_node): Add decl of is_clone_of. + * cgraphbuild.cc (mark_address): Fix reference creation for + cloned callback functions. + +2026-04-13 Hu, Lin1 <[email protected]> + + PR target/124710 + * config/i386/sse.md (iptrps2qq): New mode attribute for + ps2qq Intel syntax memory operand size override. + (avx10_2_vcvttps2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>): + Use %<iptrps2qq>1 in Intel syntax to emit qword ptr for V2DI (128-bit) + memory operands. + (avx10_2_vcvttsd2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): + Use %q1 in Intel syntax to emit qword ptr for scalar double memory + operands. + (avx10_2_vcvttss2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): + Use %k1 in Intel syntax to emit dword ptr for scalar single memory + operands. + 2026-04-11 Christopher Albert <[email protected]> PR fortran/93554 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index a1b35b3687d1..3bd3150050a5 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260413 +20260415 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c991efcafbd8..504f4f16c15c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,15 @@ +2026-04-13 Eric Botcazou <[email protected]> + + PR ada/95452 + * libgnat/g-heasor.adb (Sort.Sift): Add guard against overflow. + * libgnat/g-hesorg.adb (Sort.Sift): Likewise. + * libgnat/g-hesora.adb (Sort.Sift): Likewise. Restore consistency. + +2026-04-13 Eric Botcazou <[email protected]> + + PR ada/77535 + * libgnat/s-pehage.adb (New_Word): Rebase the input. + 2026-04-12 Eric Botcazou <[email protected]> PR ada/124836 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fedd56a9f6d0..bd7fe0eb2017 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,99 @@ +2026-04-15 Jakub Jelinek <[email protected]> + + * pt.cc (finish_expansion_stmt): Implement CWG3149 - Rvalues in + destructuring expansion statements. For esk_destructuring, if + expansion_init is not lvalue_p, wrap init into a static_cast + to decltype of destruct_decls[i]. + +2026-04-15 Jakub Jelinek <[email protected]> + + * mangle.cc (write_reflection): Adjust grammar for type alias + reflections. Don't use write_prefix on arg, instead + write_prefix its mangling context, write_unqualified_name of + the alias, optionally write_template_args, append underscore + and write_type the original type. + +2026-04-15 Jakub Jelinek <[email protected]> + + PR c++/124862 + * decl.cc (cp_decomp_size): If btype is different from type, + check if it is accessible. + +2026-04-15 Jakub Jelinek <[email protected]> + + PR c++/124850 + * typeck.cc (cxx_mark_addressable): For DECL_ANON_UNION_VAR_P vars + also mark their DECL_VALUE_EXPR. + +2026-04-15 Jakub Jelinek <[email protected]> + + * reflect.cc (adjust_array_elt): New function. + (get_range_elts): Implement LWG4483 - Multidimensional arrays are not + supported by meta::reflect_constant_array and related functions. + Handle ARRAY_TYPE valuet. Don't unshare_expr in the class valuet case, + get_template_param_object will unshare. + +2026-04-14 Patrick Palka <[email protected]> + + PR c++/124544 + * tree.cc (strip_typedefs_expr) <case REFLECT_EXPR>: Don't + recurse into a type operand. + (cp_tree_equal) <case REFLECT_EXPR>: For a reflection of an + alias, also compare TYPE_NAMEs directly. + +2026-04-14 Marek Polacek <[email protected]> + + * cp-tree.h (reflection_function_template_p): Declare. + * parser.cc (cp_parser_splice_expression): Use + reflection_function_template_p instead of really_overloaded_fn. + * reflect.cc (check_splice_expr): Likewise. + (reflection_function_template_p): New. + +2026-04-13 Marek Polacek <[email protected]> + + PR c++/123237 + PR c++/124771 + PR c++/124842 + * mangle.cc (write_splice): New. + (write_prefix): Call write_splice for SPLICE_SCOPE. + (write_type): Likewise. + (write_expression): Call write_splice for dependent_splice_p. + (write_reflection): Handle the "tt" and "de" prefixes. + * reflect.cc (reflection_mangle_prefix): For + DECL_TEMPLATE_TEMPLATE_PARM_P, use the prefix "tt". For + dependent reflections, use "de". + +2026-04-13 Marek Polacek <[email protected]> + + PR c++/124835 + * parser.cc (cp_parser_decltype_expr): Check that [: :] is + followed by a close paren before declaring it an unparenthesized + splice-expression. + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/103901 + PR c++/123566 + * pt.cc (push_template_decl): Sorry on local class in lambda in + template parm list. + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/122632 + * pt.cc (tsubst_exception_specification): Add cp_unevaluated. + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/122884 + * pt.cc (reconstruct_lambda_capture_pack): New. + (tsubst_pack_expansion): Use it. + (tsubst_decl): Handle capture proxy. + (tsubst): Handle lambda closure. + (tsubst_expr): Handle closure field. + (tsubst_lambda_expr): Copy closure location. + * constraint.cc (satisfy_declaration_constraints): Set up + local_specializations for a lambda. + 2026-04-10 Jakub Jelinek <[email protected]> PR c++/124831 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index a73a609d83e5..bae93b196183 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,7 @@ +2026-04-14 Iain Buclaw <[email protected]> + + * dmd/MERGE: Merge upstream dmd e145b91245. + 2026-04-07 Sandra Loosemore <[email protected]> PR other/124784 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2b690d885737..e3de8ff2620f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,17 @@ +2026-04-14 Harald Anlauf <[email protected]> + + PR fortran/124807 + * decl.cc (add_init_expr_to_sym): Suggested by Coverity: + Check sym->as != NULL before dereferencing it. + +2026-04-13 Christopher Albert <[email protected]> + + PR fortran/101760 + PR fortran/102314 + * trans-openmp.cc (gfc_omp_finish_clause): Compute OMP_CLAUSE_SIZE + from the array domain bounds and element size for VLA types instead + of using TYPE_SIZE_UNIT directly, to avoid corrupting the type. + 2026-04-11 Christopher Albert <[email protected]> PR fortran/93814 diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index eb1112339237..60564c3df380 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,39 @@ +2026-04-14 Gaius Mulley <[email protected]> + + PR modula2/105408 + * Make-lang.in (GM2-COMP-BOOT-MODS): Remove duplicate NameKey.mod. + * gm2-compiler/M2GenGCC.mod (import): Remove BuildAssignmentTree. + Add CopyMemcpy. + (IsSystemTypeBecomes): New procedure function. + (CodeAssignment): Rewrite using CopyMemcpy and IsSystemTypeBecomes. + * gm2-gcc/m2convert.cc (const_to_ISO_aggregate_type): Reverse + array elements if BYTES_BIG_ENDIAN. + * gm2-gcc/m2pp.cc (ps): New function. + * gm2-gcc/m2pp.h (pf): Added comment. + (pe): Ditto. + (pt): Ditto. + (ptl): Ditto. + (pv): Ditto. + (ptcl): Ditto. + * gm2-gcc/m2statement.cc (copy_memcpy): Replace with ... + (m2statement_CopyMemcpy): ... this. + (CopyByField_Lower): Call m2statement_CopyMemcpy instead of copy_memcpy. + (m2statement_BuildAssignmentTree): Tidied up comment. + Add test for ARRAY_TYPE CONSTRUCTOR expr and use + m2statement_CopyMemcpy. + Return type changed to void. + * gm2-gcc/m2statement.def (BuildAssignmentTree): Rewrite declaration. + (CopyMemcpy): New procedure declaration. + * gm2-gcc/m2statement.h (m2statement_BuildAssignmentTree): Replace + return type with void. + (m2statement_CopyMemcpy): New function declaration. + * gm2-gcc/m2type.cc (m2type_ReverseArrayConstructorElements): New + function. + * gm2-gcc/m2type.def (ReverseArrayConstructorElements): New + procedure function declaration. + * gm2-gcc/m2type.h (m2type_ReverseArrayConstructorElements): New + function declaration. + 2026-04-10 Gaius Mulley <[email protected]> PR modula2/124840 diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index 2784e84a396d..10dcdb27a0c3 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,505 @@ +2026-04-14 jayant chauhan <[email protected]> + + * backend/rust-compile-item.cc (CompileItem::visit): Do not insert + const_expr into the context if it is an error_mark_node. + * backend/rust-compile-implitem.cc (CompileTraitItem::visit): Likewise. + +2026-04-14 AhmedSaid3617 <[email protected]> + + * ast/rust-item.h:(PathType::get_glob_type): Added const qualifier to allow + function call from const objects. + * resolve/rust-forever-stack.hxx: + (ForeverStack<N>::resolve_path): Check for empty segments vector and + return starting point. + * resolve/rust-toplevel-name-resolver-2.0.cc (flatten_glob): Preserve the + opening scope resolution property of the use statement. + +2026-04-14 Islam-Imad <[email protected]> + + * backend/rust-compile-expr.cc (CompileExpr::visit): set unit type. + +2026-04-14 Mohamed Ali <[email protected]> + + * backend/rust-compile-intrinsic.cc: Register cttz and cttz_nonzero intrinsics. + * backend/rust-intrinsic-handlers.cc (cttz_handler): Implemnt cttz_handler. + (cttz_nonzero_handler): Implemnt cttz_nonzero_handler. + * backend/rust-intrinsic-handlers.h (cttz_handler): Add decl for cttz_handler. + (cttz_nonzero_handler): Add decl for cttz_handler. + * util/rust-intrinsic-values.h: map cttz_nonzero to its name. + +2026-04-14 Owen Avery <[email protected]> + + * backend/rust-compile-asm.cc: Include "rust-ggc.h". + (chain_asm_operand): Use GGC::ChainList. + (CompileAsm::asm_construct_outputs): Likewise. + (CompileAsm::asm_construct_inputs): Likewise. + (CompileLlvmAsm::construct_operands): Likewise. + (CompileLlvmAsm::construct_clobbers): Likewise. + * util/rust-ggc.h (class ChainList): New class. + +2026-04-14 Philipp Gesang <[email protected]> + + * parse/rust-parse-impl.hxx: Refactor qualifier parsing + * parse/rust-parse.h: (parse_function_qualifiers) Likewise + +2026-04-14 Philipp Gesang <[email protected]> + + * parse/rust-parse-impl.hxx (parse_function_qualifiers) + Collect qualifiers into vector before generating the + error message + * parse/rust-parse.h: (parse_function_qualifiers) Make + function fallible + +2026-04-14 Kushal Pal <[email protected]> + + * checks/errors/rust-ast-validation.cc (ASTValidation::visit): + Add error for functions with `default` qualifier outside of impl + blocks. + * parse/rust-parse-impl.hxx (Parser::parse_item): + Allow parsing of functions with `default` qualifier. + (Parser::parse_vis_item): Likewise. + +2026-04-14 Kushal Pal <[email protected]> + + * ast/rust-ast-builder.cc (AstBuilder::fn_qualifiers): + Add new parameter. + * ast/rust-ast-builder.h: Likewise. + * ast/rust-ast.cc (Function::Function): + Remove current default parameter. + (Function::operator=): + Remove current default parameter. + * ast/rust-item.h (class FunctionQualifiers): + Add data member to represent defaultness of a function. + (class Function): + Remove current default parameter. + * parse/rust-parse-impl.hxx (Parser::parse_function_qualifiers): + Parse function qualifiers in order. + * util/rust-common.h (enum class): Create enum to represent + defaultness of a function. + +2026-04-14 Yap Zhi Heng <[email protected]> + + * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::parse_repr_options): + Allow parsing of AttrInputMetaItemContainer. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * Make-lang.in: Add a new rust-attribute-checker file. + * checks/errors/rust-builtin-attribute-checker.h (check_valid_attribute_for_item): + Change BuiltinAttributeChecker doc comment. + * rust-session-manager.cc: Include the new rust-attribute-checker + header. + * util/rust-attributes.cc (AttributeChecker::AttributeChecker): Move to + rust-attribute-checker.cc. + (AttributeChecker::go): Likewise. + (is_proc_macro_type): Likewise. + (check_proc_macro_non_function): Likewise. + (check_proc_macro_non_root): Likewise. + (AttributeChecker::visit): Likewise. + * util/rust-attributes.h (class AttributeChecker): Move to + rust-attribute-checker.h. + * checks/errors/rust-attribute-checker.cc: New file. + * checks/errors/rust-attribute-checker.h: New file. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * checks/errors/rust-builtin-attribute-checker.cc (std::function<void): + Use the new attribute value variables instead of raw values. + * util/rust-attribute-values.h: Add deny, warn and forbid values. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * checks/errors/rust-builtin-attribute-checker.cc (check_doc_attribute): + Move from here... + (doc): ...to here. + (check_deprecated_attribute): Move from here... + (deprecated): ...to here. + (check_link_section_attribute): Move from here... + (link_section): ... to here. + (check_export_name_attribute): Move from here... + (export_name): ... to here. + (check_no_mangle_function): Remove internal structure checking and move + it to no_mangle handler. + (check_lint_attribute): Move from here... + (lint): ... to here. + (link_name): Likewise with link_name. + (check_crate_type): Move to anonymous namespace within the handler + namespace. + (proc_macro_derive): Add proc macro specific handler. + (proc_macro): Likewise. + (target_feature): Likewise. + (no_mangle): Add specific handler for no_mangler attribute internal + structure checking. + (std::function<void): Add map with attribute name to handler matching. + (tl::optional<std::function<void): Likewise. + (lookup_handler): Add an helper function to retrieve the handler of any + builtin attribute. + (BuiltinAttributeChecker::visit): Change attribute visitor call with + new handler call. + * checks/errors/rust-builtin-attribute-checker.h (check_valid_attribute_for_item): + Add prototype. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * checks/errors/rust-builtin-attribute-checker.cc (BuiltinAttributeChecker::visit): + Deduplicate lines using the new templated function within the visitor + functions. + * checks/errors/rust-builtin-attribute-checker.h (class BuiltinAttributeChecker): + Create a new templated function that achieves the default attribute + checking operations. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * expand/rust-expand-visitor.cc (ExpandVisitor::visit): Flatten + AttrInputExpr containing a literal to an AttrInputLiteral. + * expand/rust-expand-visitor.h: Add function prototype. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * ast/rust-ast.h: Add helper to set a new attribute input. + * expand/rust-expand-visitor.cc (ExpandVisitor::expand_inner_stmts): + Visit builtin attributes. + (ExpandVisitor::visit): Likewise. + * resolve/rust-early-name-resolver-2.0.cc (Early::visit): Expand + attribute input expr. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * Make-lang.in: Add file for builtin attribute checking. + * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_doc_item_attribute): + Remove error emission and replace it with an assert. The error message + will now be emitted from the builtin attribute checking pass. + * rust-session-manager.cc (Session::compile_crate): Add builtin + attribute checking step after expansion. + * util/rust-attributes.cc (Attributes::is_known): Move down. + (Attributes::extract_string_literal): Likewise. + (Attributes::valid_outer_attribute): Add a function to retrieve outer/ + inner status for a given builtin attribute value. + (AttributeChecker::visit): Move some checking to builtin attribute + checker. + (identify_builtin): Rename function from here ... + (lookup_builtin): ... to here. + (check_doc_alias): Move to builtin attribute checker. + (check_doc_attribute): Likewise. + (check_deprecated_attribute): Likewise. + (check_valid_attribute_for_item): Likewise. + (AttributeChecker::check_inner_attribute): Likewise. + (check_link_section_attribute): Likewise. + (check_export_name_attribute): Likewise. + (check_lint_attribute): Likewise. + (check_no_mangle_function): Likewise. + (is_proc_macro_type): Update function call name. + * util/rust-attributes.h (identify_builtin): Update prototype. + (lookup_builtin): Likewise. + * checks/errors/rust-builtin-attribute-checker.cc: New file. + * checks/errors/rust-builtin-attribute-checker.h: New file. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * ast/rust-ast-collector.cc (TokenCollector::visit): Remove + AttrInputMacro handling. + * ast/rust-ast-collector.h: Remove function prototype. + * ast/rust-ast-full-decls.h (class AttrInputMacro): Remove forward + declaration. + * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Remove function. + * ast/rust-ast-visitor.h: Remove function prototypes. + * ast/rust-ast.cc (Attribute::get_traits_to_derive): Remove handling of + macros. + (AttrInputMacro::as_string): Remove function. + (AttrInputMacro::AttrInputMacro): Likewise. + (AttrInputMacro::operator=): Likewise. + (AttrInputMacro::accept_vis): Likewise. + * ast/rust-ast.h: Remove MACRO kind. + * ast/rust-expr.h (class AttrInputMacro): Add getter for expr pointer. + Remove AttrInputMacro class. + * expand/rust-derive.h: Remove function prototype. + * expand/rust-expand-visitor.cc (ExpandVisitor::visit): Change function + to AttrInputExpr. + * expand/rust-expand-visitor.h: Update prototype. + * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Remove function. + * hir/rust-ast-lower-base.h: Remove function prototype. + * parse/rust-parse-impl-attribute.hxx: Parse the attribute content as + AttrInputExpr instead. + * util/rust-attributes.cc (check_doc_attribute): Remove MACRO kind + handling. + (check_export_name_attribute): Remove switch and only handle literals. + (AttributeChecker::visit): Remove function. + * util/rust-attributes.h: Remove function prototype. + +2026-04-14 Egas Ribeiro <[email protected]> + + * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): added + refutable pattern checks for function params. + +2026-04-14 Owen Avery <[email protected]> + + * Make-lang.in (GRS_OBJS): Add rust-identifier-path.o. + * resolve/rust-early-name-resolver-2.0.cc: Include + "rust-identifier-path.h". + (Early::go): Use IdentifierPathPass. + (Early::visit): Handle identifier patterns which should be path + patterns. + * resolve/rust-early-name-resolver-2.0.h: Include + "rust-pattern.h". + (Early::visit): Add visiting function declaration for + IdentifierPattern. + (Early::ident_path_to_convert): New member variable. + * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): + Call Mappings::add_function_node. + * util/rust-hir-map.cc (Mappings::add_function_node): New + member function definition. + (Mappings::is_function_node): Likewise. + * util/rust-hir-map.h (Mappings::add_function_node): New + member function declaration. + (Mappings::is_function_node): Likewise. + (Mappings::function_nodes): New member variable. + * resolve/rust-identifier-path.cc: New file. + * resolve/rust-identifier-path.h: New file. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * ast/rust-ast-pointer-visitor.cc (PointerVisitor::visit): Remove + duplicated functions. + * ast/rust-ast-pointer-visitor.h: Remove duplicated function + prototypes. + +2026-04-14 Owen Avery <[email protected]> + + * expand/rust-macro-expand.cc (MacroExpander::expand_crate): + Remove usage of Resolver::get_macro_scope. + * resolve/rust-name-resolver.cc (Resolver::Resolver): Handle + removal of member variables. + (Resolver::push_new_name_rib): Remove function definition. + (Resolver::push_new_type_rib): Likewise. + (Resolver::push_new_label_rib): Likewise. + (Resolver::push_new_macro_rib): Likewise. + (Resolver::find_name_rib): Likewise. + (Resolver::find_type_rib): Likewise. + (Resolver::find_macro_rib): Likewise. + (Resolver::insert_builtin_types): Likewise. + (Resolver::get_builtin_types): Likewise. + (Resolver::generate_builtins): Likewise. + (Resolver::setup_builtin): Likewise. + (Resolver::insert_resolved_label): Likewise. + (Resolver::lookup_resolved_label): Likewise. + (Resolver::insert_resolved_macro): Likewise. + (Resolver::lookup_resolved_macro): Likewise. + (Resolver::push_closure_context): Likewise. + (Resolver::pop_closure_context): Likewise. + (Resolver::insert_captured_item): Likewise. + (Resolver::decl_needs_capture): Likewise. + (Resolver::get_captures): Likewise. + (Resolver::insert_resolved_name): Replace function + implementation with rust_unreachable call. + (Resolver::lookup_resolved_name): Likewise. + (Resolver::insert_resolved_type): Likewise. + (Resolver::lookup_resolved_type): Likewise. + (Resolver::insert_resolved_misc): Likewise. + (Resolver::lookup_resolved_misc): Likewise. + * resolve/rust-name-resolver.h (Resolver::insert_builtin_types): + Remove member function declaration. + (Resolver::get_builtin_types): Likewise. + (Resolver::push_new_name_rib): Likewise. + (Resolver::push_new_type_rib): Likewise. + (Resolver::push_new_label_rib): Likewise. + (Resolver::push_new_macro_rib): Likewise. + (Resolver::find_name_rib): Likewise. + (Resolver::find_type_rib): Likewise. + (Resolver::find_label_rib): Likewise. + (Resolver::find_macro_rib): Likewise. + (Resolver::insert_resolved_label): Likewise. + (Resolver::lookup_resolved_label): Likewise. + (Resolver::insert_resolved_macro): Likewise. + (Resolver::lookup_resolved_macro): Likewise. + (Resolver::get_name_scope): Likewise. + (Resolver::get_type_scope): Likewise. + (Resolver::get_label_scope): Likewise. + (Resolver::get_macro_scope): Likewise. + (Resolver::get_global_type_node_id): Likewise. + (Resolver::set_unit_type_node_id): Likewise. + (Resolver::get_unit_type_node_id): Likewise. + (Resolver::set_never_type_node_id): Likewise. + (Resolver::get_never_type_node_id): Likewise. + (Resolver::push_new_module_scope): Likewise. + (Resolver::pop_module_scope): Likewise. + (Resolver::peek_current_module_scope): Likewise. + (Resolver::peek_crate_module_scope): Likewise. + (Resolver::peek_parent_module_scope): Likewise. + (Resolver::push_closure_context): Likewise. + (Resolver::pop_closure_context): Likewise. + (Resolver::insert_captured_item): Likewise. + (Resolver::get_captures): Likewise. + (Resolver::as_debug_string): Likewise. + (Resolver::decl_needs_capture): Likewise. + (Resolver::generate_builtins): Likewise. + (Resolver::setup_builtin): Likewise. + (Resolver::mappings): Remove member variable. + (Resolver::tyctx): Likewise. + (Resolver::builtins): Likewise. + (Resolver::name_scope): Likewise. + (Resolver::type_scope): Likewise. + (Resolver::label_scope): Likewise. + (Resolver::macro_scope): Likewise. + (Resolver::global_type_node_id): Likewise. + (Resolver::unit_ty_node_id): Likewise. + (Resolver::never_ty_node_id): Likewise. + (Resolver::name_ribs): Likewise. + (Resolver::type_ribs): Likewise. + (Resolver::label_ribs): Likewise. + (Resolver::macro_ribs): Likewise. + (Resolver::resolved_names): Likewise. + (Resolver::resolved_types): Likewise. + (Resolver::resolved_labels): Likewise. + (Resolver::resolved_macros): Likewise. + (Resolver::misc_resolved_items): Likewise. + (Resolver::current_module_stack): Likewise. + (Resolver::closure_context): Likewise. + (Resolver::closures_capture_mappings): Likewise. + +2026-04-14 Owen Avery <[email protected]> + + * checks/errors/rust-const-checker.cc: Remove inclusion of + "options.h". + (ConstChecker::ConstChecker): Initialize 2.0 resolver. + (ConstChecker::visit): Assume nr2.0 is enabled. + * checks/errors/rust-const-checker.h: Adjust includes. + (ConstChecker::resolver): Change type to 2.0 resolver. + * checks/errors/rust-unsafe-checker.cc: Remove inclusion of + "options.h". + (UnsafeChecker::UnsafeChecker): Initialize 2.0 resolver. + (UnsafeChecker::visit): Assume nr2.0 is enabled. + * checks/errors/rust-unsafe-checker.h: Adjust includes. + (UnsafeChecker::resolver): Change type to 2.0 resolver. + * checks/lints/rust-lint-marklive.cc + (MarkLive::visit_path_segment): Assume nr2.0 is enabled. + (MarkLive::visit): Likewise. + (MarkLive::find_ref_node_id): Likewise. + * checks/lints/rust-lint-marklive.h: Include + "rust-immutable-name-resolution-context.h". + (MarkLive::resolver): Change type to 2.0 resolver, as a + reference instead of a pointer. + (MarkLive::MarkLive): Initialize 2.0 resolver. + +2026-04-14 Owen Avery <[email protected]> + + * expand/rust-expand-visitor.cc (ExpandVisitor::visit): Remove + some redundant function overloads. + * expand/rust-expand-visitor.h (ExpandVisitor::visit): Likewise. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * util/rust-attribute-values.h: Add "no_builtins" + attribute value. + * util/rust-attributes.cc: Add "no_builtins" to + the list of builtin attributes. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * checks/errors/feature/rust-feature-gate.cc (FeatureGate::visit): + Rework visit to avoid multiple iterations. Add check for + "compiler_builtins" attribute. + (FeatureGate::check_no_core_attribute): Remove loop. + * checks/errors/feature/rust-feature-gate.h: Update function prototype. + * util/rust-attribute-values.h: Add "compiler_builtins" attribute + value. + * util/rust-attributes.cc: Add "compiler_builtins" to the list of + builtin attributes. + +2026-04-14 Mohamed Ali <[email protected]> + + * backend/rust-compile-intrinsic.cc: Register ctlz and ctlz_nonzero intrinsics. + * backend/rust-intrinsic-handlers.cc (ctlz_handler): Implement ctlz_handler. + (ctlz_nonzero_handler): Implement ctlz_nonzero_handler. + * backend/rust-intrinsic-handlers.h (ctlz_handler): Add decl for ctlz_handler. + (ctlz_nonzero_handler): Add decl for ctlz_nonzero_handler. + * util/rust-intrinsic-values.h: map ctlz_nonzero to its name. + +2026-04-14 Enes Cevik <[email protected]> + + * lex/rust-lex.cc (Lexer::parse_non_decimal_int_literal): Use GMP + for base conversion to support 128-bit literals. Remove existent_str + parameter. + (Lexer::parse_non_decimal_int_literals): Remove prefix string + initialization and update function calls. + * lex/rust-lex.h (Lexer::parse_non_decimal_int_literal): Update + function signature to remove existent_str. + +2026-04-14 Owen Avery <[email protected]> + + * checks/errors/rust-hir-pattern-analysis.cc + (PlaceInfo::specialize): Handle VariantType::UNIT. + (WitnessPat::to_string): Likewise. + (WitnessMatrix::apply_constructor): Likewise. + * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): + Conditionally create VariantType::UNIT variants. + * typecheck/rust-hir-type-check-pattern.cc + (TypeCheckPattern::visit): Fix typo, handle VariantType::UNIT. + * typecheck/rust-tyty-variance-analysis.cc + (GenericTyVisitorCtx::process_type): Handle VariantType::UNIT. + * typecheck/rust-tyty.cc (BaseType::contains_infer): Likewise. + (BaseType::is_concrete): Likewise. + (VariantDef::variant_type_string): Likewise. + (VariantDef::VariantDef): Likewise. + * typecheck/rust-tyty.h (VariantDef::VariantType::UNIT): New + enumerator. + +2026-04-14 Owen Avery <[email protected]> + + * resolve/rust-finalize-imports-2.0.cc + (GlobbingVisitor::visit_enum_container): Conditionally insert + into value namespace as well. + * resolve/rust-forever-stack.hxx (ForeverStack::insert_variant): + Add template specialization for value namespace. + * resolve/rust-name-resolution-context.cc + (NameResolutionContext::insert_variant): Allow insertion into + value namespace. + * resolve/rust-name-resolution-context.h + (NameResolutionContext::insert_variant): Likewise. + * resolve/rust-toplevel-name-resolver-2.0.cc + (TopLevel::insert_enum_variant_or_error_out): Likewise. + (TopLevel::visit): Use tweaked insert_enum_variant_or_error_out + properly for all enum item kinds. + * resolve/rust-toplevel-name-resolver-2.0.h + (TopLevel::insert_enum_variant_or_error_out): Tweak function + signature. + +2026-04-14 Owen Avery <[email protected]> + + * typecheck/rust-hir-type-check-pattern.cc + (TypeCheckPattern::visit): Fix typo "constatnt". + +2026-04-14 hriztam <[email protected]> + + * ast/rust-fmt.h: Explicitly instantiate FFIVec<Piece>. + +2026-04-14 Andrew Pinski <[email protected]> + + * typecheck/rust-tyty.cc (generate_tree_str): Remove opem_memstream + and print_generic_stmt call with call to dump_generic_node. + +2026-04-14 Owen Avery <[email protected]> + + * resolve/rust-forever-stack.h: Include more headers. + (class ResolutionPath): New class for representing paths. + (ForeverStack::resolve_path): Change function signature. + (ForeverStack::find_starting_point): Likewise. + (ForeverStack::resolve_segments): Likewise. + (ForeverStack::SegIterator): Change type alias. + * resolve/rust-forever-stack.hxx (check_leading_kw_at_start): + Change function signature. + (ForeverStack::find_starting_point): Likewise. + (ForeverStack::resolve_segments): Likewise. + (ForeverStack::resolve_path): Likewise. + * resolve/rust-name-resolution-context.h: Tweak include guard, + include "rust-name-resolution.h". + (NameResolutionContext::resolve_path): Use ResolutionPath and + ResolutionBuilder. + (class NameResolutionContext::ResolutionBuilder): New class. + (class Usage): Move this... + (class Definition): ...and this... + * resolve/rust-name-resolution.h: ...to new file. + * util/rust-unwrap-segment.h: Add include guard. + 2026-03-20 Pierre-Emmanuel Patry <[email protected]> * rust-session-manager.cc (Session::compile_crate): Use additional diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 14820bfe8fb4..349043df2dc4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,295 @@ +2026-04-15 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/mangle2.C: Expect \[jmy] instead of just m for size_t + mangling. + * g++.dg/reflect/mangle3.C: Expect \[ilx] instead of just l for + ptrdiff_t mangling. + +2026-04-15 Jakub Jelinek <[email protected]> + + * gcc.dg/bitint-31.c: Require hard_float effective target, add + -frounding-math to dg-options. + +2026-04-15 Jakub Jelinek <[email protected]> + + * g++.dg/cpp26/expansion-stmt39.C: New test. + * g++.dg/reflect/cwg3149.C: New test. + +2026-04-15 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/mangle1.C: Adjust expected mangling of type + aliases. + +2026-04-15 Jakub Jelinek <[email protected]> + + PR c++/124862 + * g++.dg/ext/builtin-structured-binding-size5.C: New test. + * g++.dg/ext/builtin-structured-binding-size6.C: New test. + +2026-04-15 Jakub Jelinek <[email protected]> + + PR c++/124850 + * g++.dg/other/anon-union8.C: New test. + +2026-04-15 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/reflect_constant_array9.C: New test. + * g++.dg/reflect/reflect_constant_array10.C: New test. + * g++.dg/reflect/reflect_constant_array11.C: New test. + * g++.dg/reflect/define_static_array6.C: New test. + * g++.dg/reflect/define_static_object2.C: Uncomment older tests and + fix them, add tests for unions. + +2026-04-15 Torbjörn SVENSSON <[email protected]> + + * gcc.dg/plugin/analyzer_known_fns_plugin.cc: Add missing + override to member function. + +2026-04-15 Torbjörn SVENSSON <[email protected]> + + * gcc.dg/plugin/diagnostic_plugin_test_paths.cc: Compare with + NULL in if statement. + +2026-04-14 jayant chauhan <[email protected]> + + * rust/compile/issue-3910.rs: New test. + +2026-04-14 AhmedSaid3617 <[email protected]> + + * rust/compile/glob-import-all.rs: New test. + +2026-04-14 Islam-Imad <[email protected]> + + * rust/compile/issue-4517.rs: New test. + +2026-04-14 Mohamed Ali <[email protected]> + + * rust/compile/cttz.rs: New test. + * rust/compile/cttz_nonzero.rs: New test. + * rust/execute/torture/cttz.rs: New test. + * rust/execute/torture/cttz_nonzero.rs: New test. + +2026-04-14 Philipp Gesang <[email protected]> + + * rust/compile/func-qualifier-default.rs: + Adapt to change in compiler messages + * rust/compile/func-qualifier-order.rs: Renamed existing + test file for clarity (from) + * rust/compile/func-qualifier-order-1.rs: Renamed existing + test file (to) + * rust/compile/func-qualifier-order-2.rs: New test file + * rust/compile/func-qualifier-order-3.rs: New test file + +2026-04-14 Philipp Gesang <[email protected]> + + * rust/compile/func-qualifier-order.rs: New test file + * rust/compile/func-qualifier-default.rs: New test file + +2026-04-14 Yap Zhi Heng <[email protected]> + + * rust/compile/issue-3550.rs: New file. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * rust/compile/doc_macro.rs: Add macro_export on macro. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * rust/compile/doc_macro.rs: Add concat builtin macro definition. + * rust/compile/early_feature_gate_in_macro.rs: Add stringify builtin + macro definition. + * rust/compile/issue-3661.rs: Likewise. + * rust/compile/parse_time_feature_gate.rs: Add concat and stringify + builtin macro definition. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * rust/compile/issue-4226.rs: Update text to match error message from + attribute checking pass that was not triggered before. + +2026-04-14 Egas Ribeiro <[email protected]> + + * rust/compile/issue-3919-ice-func-parms.rs: New test. + +2026-04-14 Owen Avery <[email protected]> + + * rust/execute/ident_pat_vs_path_1.rs: New test. + * rust/execute/ident_pat_vs_path_2.rs: New test. + +2026-04-14 Jayant Chauhan <[email protected]> + + * rust/compile/issue-3875.rs: New test. + +2026-04-14 Pierre-Emmanuel Patry <[email protected]> + + * rust/compile/compiler_builtins_gate.rs: New test. + +2026-04-14 Mohamed Ali <[email protected]> + + * rust/execute/torture/ctlz_i16.rs: New test. + * rust/execute/torture/ctlz_i32.rs: New test. + * rust/execute/torture/ctlz_i64.rs: New test. + * rust/execute/torture/ctlz_i8.rs: New test. + * rust/execute/torture/ctlz_nonzero_i16.rs: New test. + * rust/execute/torture/ctlz_nonzero_i32.rs: New test. + * rust/execute/torture/ctlz_nonzero_i64.rs: New test. + * rust/execute/torture/ctlz_nonzero_i8.rs: New test. + * rust/execute/torture/ctlz_nonzero_u16.rs: New test. + * rust/execute/torture/ctlz_nonzero_u32.rs: New test. + * rust/execute/torture/ctlz_nonzero_u64.rs: New test. + * rust/execute/torture/ctlz_nonzero_u8.rs: New test. + * rust/execute/torture/ctlz_u16.rs: New test. + * rust/execute/torture/ctlz_u32.rs: New test. + * rust/execute/torture/ctlz_u64.rs: New test. + * rust/execute/torture/ctlz_u8.rs: New test. + +2026-04-14 Mohamed Ali <[email protected]> + + * rust/compile/ctlz.rs: New test. + * rust/compile/ctlz_nonzero.rs: New test. + * rust/execute/torture/ctlz.rs: New test. + * rust/execute/torture/ctlz_nonzero.rs: New test. + +2026-04-14 Enes Cevik <[email protected]> + + * rust/execute/non_decimal_128_saturation.rs: New test. + +2026-04-14 Owen Avery <[email protected]> + + * rust/compile/match-struct-path.rs: Increase test coverage. + +2026-04-14 Yap Zhi Heng <[email protected]> + + * rust/compile/issue-3555.rs: New test case. + * rust/compile/issue-3591.rs: New test case. + * rust/compile/issue-3597.rs: New test case. + * rust/compile/issue-3651.rs: New test case. + * rust/compile/issue-3670.rs: New test case. + * rust/compile/issue-3672.rs: New test case. + +2026-04-14 Harishankar <[email protected]> + + * rust/compile/issue-3931.rs: New test. + +2026-04-14 Patrick Palka <[email protected]> + + PR c++/124544 + * g++.dg/reflect/alias1.C: New test. + * g++.dg/reflect/alias2.C: New test. + +2026-04-14 Andrew MacLeod <[email protected]> + + PR tree-optimization/124809 + * gcc.dg/pr124809.c: New. + +2026-04-14 Martin Jambor <[email protected]> + + PR ipa/124777 + * gcc.dg/ipa/pr124777.c: New test. + +2026-04-14 Gaius Mulley <[email protected]> + + PR modula2/105408 + * gm2/iso/run/pass/testgeneric.mod: Corrected printf arguments. + * gm2/iso/run/pass/printsize.mod: New test. + * gm2/iso/run/pass/testgeneric2.mod: New test. + * gm2/iso/run/pass/testgeneric3.mod: New test. + * gm2/iso/run/pass/testgeneric4.mod: New test. + * gm2/iso/run/pass/testgeneric5.mod: New test. + +2026-04-14 Richard Biener <[email protected]> + + PR tree-optimization/124875 + * g++.dg/torture/pr124875.C: New testcase. + +2026-04-14 Soumya AR <[email protected]> + Kyrylo Tkachov <[email protected]> + + * gcc.target/aarch64/narrow-gp-writes-1.c: New test. + * gcc.target/aarch64/narrow-gp-writes-2.c: New test. + * gcc.target/aarch64/narrow-gp-writes-3.c: New test. + * gcc.target/aarch64/narrow-gp-writes-4.c: New test. + * gcc.target/aarch64/narrow-gp-writes-5.c: New test. + * gcc.target/aarch64/narrow-gp-writes-6.c: New test. + * gcc.target/aarch64/narrow-gp-writes-7.c: New test. + +2026-04-14 Jakub Jelinek <[email protected]> + + PR tree-optimization/124826 + * gcc.dg/bitint-128.c: New test. + +2026-04-14 Richard Biener <[email protected]> + + PR tree-optimization/124868 + * gcc.dg/torture/pr124868.c: New testcase. + +2026-04-14 H.J. Lu <[email protected]> + + PR target/124876 + * gcc.target/i386/zero-scratch-regs-23.c: Scan vpxord on ZMM16-31. + * gcc.target/i386/zero-scratch-regs-33.c: New test. + +2026-04-13 Marek Polacek <[email protected]> + + PR c++/123237 + PR c++/124771 + PR c++/124842 + * g++.dg/reflect/mangle2.C: New test. + * g++.dg/reflect/mangle3.C: New test. + * g++.dg/reflect/mangle4.C: New test. + * g++.dg/reflect/mangle5.C: New test. + +2026-04-13 Christopher Albert <[email protected]> + + PR fortran/101760 + PR fortran/102314 + * gfortran.dg/gomp/pr101760.f90: New test. + * gfortran.dg/gomp/pr102314.f90: New test. + +2026-04-13 Marek Polacek <[email protected]> + + PR c++/124835 + * g++.dg/reflect/decltype2.C: New test. + +2026-04-13 Andrew Pinski <[email protected]> + + PR target/123238 + * gcc.target/aarch64/pr123238.c: + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/103901 + PR c++/123566 + * g++.dg/cpp2a/lambda-targ25.C: New test. + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/122632 + * g++.dg/cpp23/lambda-scope11.C: New test. + +2026-04-13 Jakub Jelinek <[email protected]> + + PR c++/124246 + * g++.dg/reflect/type_trait13.C: Uncomment commented out is_swappable_type and + is_nothrow_swappable_type assertions with std::priority_queue. + +2026-04-13 Josef Melcr <[email protected]> + + PR ipa/124700 + * g++.dg/gomp/pr124700.C: New test. + +2026-04-13 Hu, Lin1 <[email protected]> + + PR target/124710 + * gcc.target/i386/pr124710-1.c: New test. + * gcc.target/i386/pr124710-2.c: Ditto. + +2026-04-13 Jason Merrill <[email protected]> + + PR c++/122884 + * g++.dg/cpp23/lambda-scope10.C: New test. + * g++.dg/cpp23/lambda-scope10a.C: New test. + 2026-04-11 Christopher Albert <[email protected]> PR fortran/93554 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 730417053429..efba86e010cf 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2026-04-15 Torbjörn SVENSSON <[email protected]> + + * libgcov-driver-system.c (gcov_exit_open_gcda_file): Handle + potential NULL value from malloc. + 2026-03-30 Saurabh Jha <[email protected]> Evgeny Karpov <[email protected]> diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 41de699dcba8..e2c238d03ed4 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,7 @@ +2026-04-14 Iain Buclaw <[email protected]> + + * libdruntime/MERGE: Merge upstream druntime e145b91245. + 2026-04-08 Rainer Orth <[email protected]> PR d/88150 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index eb821efef1be..7f9d58af2180 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,88 @@ +2026-04-15 Matthias Kretz <[email protected]> + + * include/bits/simd_vec.h (basic_vec deduction guide): Explicit + cast to simd-size-type from range size type. + +2026-04-15 Jakub Jelinek <[email protected]> + + * include/std/meta (define_static_object): Adjust for LWG4483 changes + - handle unions and arrays differently. + +2026-04-14 Tomasz Kamiński <[email protected]> + + * include/bits/version.def (stdbit_h, stdckdint_h): Define. + * include/bits/version.h: Regenerate. + * include/c_compatibility/stdbit.h (__cpp_lib_stdbit_h): Define + and use it in guards. + * include/c_compatibility/stdckdint.h (__cpp_lib_stdckdint_h): + Define and use it in guards. + +2026-04-14 Tomasz Kamiński <[email protected]> + + * testsuite/std/format/fill.cc: New test. + * testsuite/std/format/fill_nonunicode.cc: New test. + +2026-04-14 Tomasz Kamiński <[email protected]> + + * testsuite/20_util/constant_wrapper/generic.cc: Replace + std::std::invalid_argument with NegativeArgument and + removed <stdexcept> include. + +2026-04-14 Tomasz Kamiński <[email protected]> + + * include/bits/version.def (constant_wrapped): Updated to 202603L. + * include/bits/version.h: Regenerate. + * include/bits/utility.h (_CwOperators::operator()) + (_CwOperators:operator[]): Delete, they are now provided by... + (constant_wrapper::operator(), constant_wrapper::operator[]): + Define. + * testsuite/20_util/constant_wrapper/generic.cc: Add additional + test cases for invoke and subscript. + * testsuite/20_util/constant_wrapper/version.cc: Update tested + value. + +2026-04-14 Matthias Wippich <[email protected]> + Ivan Lazaric <[email protected]> + + * include/bits/utility.h (std::tuple_size, std::tuple_element): + Add partial specializations for integer_sequence. + (std::get(integer_sequence<_Tp, _Idx...>)): Define. + * include/bits/version.def (integer_sequence): Bump to 202511L. + * include/bits/version.h: Regenerate. + * testsuite/20_util/integer_sequence/tuple_access.cc: New test. + * testsuite/20_util/integer_sequence/tuple_access_neg.cc: New test. + * testsuite/experimental/feat-cxx14.cc: Updated check for + __cpp_lib_integer_sequence value. + +2026-04-13 François Dumont <[email protected]> + + * include/bits/hashtable.h: Replace usages of std::__addressof with + std::addressof. + * include/bits/hashtable_policy.h: Likewise. + +2026-04-13 Tomasz Kamiński <[email protected]> + + * include/bits/version.def (replaceable_contract_violation_handler) + [(__cplusplus > 202302L) && (__cpp_contracts >= 202502L)]: + Define to 202603 for ELF targets, and 0 otherwise. + * include/bits/version.h: Regenerate. + * include/std/contracts: Define + __cpp_lib_replaceable_contract_violation_handler. + +2026-04-13 Tomasz Kamiński <[email protected]> + + * config/abi/pre/gnu.ver (GLIBCXX_3.4): Remove _ZNKSs11_[MS]_* + and _ZNKSbIwSt11char_traitsIwESaIwEE11_[MS]_* patterns. + +2026-04-13 Tomasz Kamiński <[email protected]> + + * include/bits/version.def (function_ref): Bump to 202603L. + * include/bits/version.h: Regenerate. + * testsuite/20_util/function_ref/assign.cc: Remove repeated + check for feature test macro. + * testsuite/20_util/function_ref/cons.cc: Updated checked + value. + 2026-04-10 Patrick Palka <[email protected]> * include/std/ranges (lazy_split_view::begin): Add
