From: GCC Administrator Date: Thu, 29 Jan 2026 00:16:45 +0000 (+0000) Subject: Daily bump. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67bb07e67270878f9d3b032f84ee86b970d84b15;p=thirdparty%2Fgcc.git Daily bump. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6fc88a2658..51730bfd2f3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,205 @@ +2026-01-28 Uros Bizjak + + PR target/36503 + * config/i386/i386.md (*3_sub): + Also allow operands[3] & (-1) == (-1) + in insn condition. Emit NOT RTX instead of NEG RTX in this case. + (*3_sub_1): Ditto. + +2026-01-28 Robin Dapp + + PR target/123824 + * config/riscv/riscv.cc (riscv_vls_mode_fits_in_gprs_p): New + helper. + (riscv_pass_vls_aggregate_in_gpr): Use helper and distribute + half-fitting vector to GPR and stack. + (riscv_pass_aggregate_in_vr): Reformat comment. + (riscv_get_arg_info): Use helper. + (riscv_pass_by_reference): Ditto. + +2026-01-28 Vladimir N. Makarov + + PR target/121571 + * lra-constraints.cc (process_alt_operands): Reprocess asm insn + when there are no enough regs for the asm-insn. + +2026-01-28 Richard Biener + + PR middle-end/123575 + * match.pd (abs ((T)x) -> absu (x)): For vector type + arguments require the resulting operation is supported. + +2026-01-28 Richard Biener + + PR ipa/111036 + * match.pd (__builtin_constant_p ((T)x)): Strip nop-conversions + from __builtin_constant_p arguments. + +2026-01-28 Richard Biener + + PR rtl-optimization/106859 + * var-tracking.cc (val_store): Dump -1 as UID if setting_insn + is NULL. + +2026-01-28 Richard Biener + + PR tree-optimization/123537 + * match.pd (REDUC (@0 & @1) -> @0[I] & @1[I]): Restrict + allowed conversions. + +2026-01-28 Karl Meakin + + * doc/invoke.texi: Document `+sve-bfscale` flag. + * config/aarch64/aarch64.h (TARGET_SVE_BFSCALE): New macro. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Define `__AARCH64_FEATURE_SVE_BFSCALE`. + * config/aarch64/aarch64-sve-builtins-base.cc: Skip constant + folding for floating-point or unpredicated multiplications. + * config/aarch64/aarch64-sve-builtins-sve2.def: New `SVE_FUNCTION`s. + * config/aarch64/aarch64-sve.md: Modify insns for + `SVE_COND_FP_BINARY_INT` to handle BF16 modes. + * config/aarch64/aarch64-sve2.md + (@aarch64_sve_, @aarch64_sve__single): New insn for `BFSCALE`. + Modify insns for `UNSPEC_FSCALE` to handle BF16 modes. + * config/aarch64/iterators.md (SVE_FULL_F_SCALAR): Add `VNx8BF` to iterator. + (SVE_FULL_F_BFSCALE): New iterator. + (SVE_Fx24_BFSCALE): New iterator. + (SVE_BFx24): New iterator. + (UNSPEC_FMUL): New unspec. + (V_INT_EQUIV): Add entries for BF16 modes. + (b): Add entries for scalar float modes. + (is_bf16): Add entries for BF16 modes and reformat. + (SVSCALE_SINGLE_INTARG): Likewise. + (SVSCALE_INTARG): Likewise. + (SVE_FP_MULL): New iterator. + +2026-01-28 Pengfei Li + + PR middle-end/123447 + * expr.cc (expand_expr_real_1): Increase stack slot alignment + for STRICT_ALIGNMENT targets. + +2026-01-28 Andre Vieira + + PR target/123016 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): use + 'build_truth_vector_type_for_mode' to reconstruct mask's vectype for + non-scalar masks. + +2026-01-28 Jakub Jelinek + + PR c/101312 + * langhooks.h (struct lang_hooks_for_types): Remove + copy_lang_qualifiers. Add build_lang_qualified_type. + * langhooks.cc (lhd_build_lang_qualified_type): New function. + * langhooks-def.h (lhd_build_lang_qualified_type): Declare. + (LANG_HOOKS_COPY_LANG_QUALIFIERS): Remove. + (LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE): Add. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use + LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE instead of + LANG_HOOKS_COPY_LANG_QUALIFIERS. + * attribs.cc (build_type_attribute_qual_variant): Use + lang_hooks.types.build_lang_qualified_type instead of + build_qualified_type and/or build_qualified_type with + optional lang_hooks.types.copy_lang_qualifiers call. + (attr_access::array_as_string): Use "array " attribute instead of + "array". If attribute has been created or intended quals differ + from quals of build_array_type, use copy_node and adjust quals and + attributes on the copy, print and then ggc_free. + +2026-01-28 Jakub Jelinek + + PR c++/123837 + * ipa-free-lang-data.cc (find_decls_types_r): Remove C++ annotations + from {DECL,TYPE}_ATRIBUTES. + +2026-01-28 Andrew Pinski + + PR tree-optimization/123849 + * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle + DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE like DEMANGLE_COMPONENT_BUILTIN_TYPE. + +2026-01-28 Richard Biener + + PR tree-optimization/110043 + * pointer-query.cc (get_offset_range): Fail for integer + types with precision larger than ptrdiff_type_node. + +2026-01-28 Hongyu Wang + + PR target/123779 + * config/i386/sse.md (*sse4_1_v8qiv8hi2_2): + Rename to ... + (*sse4_1_v8qiv8hi2_2): ... this, and drop mask conditions. + (*avx2_v8qiv8si2_2): Rename to ... + (*avx2_v8qiv8si2_2): ... this, and likewise. + (*sse4_1_v4qiv4si2_2): Rename to ... + (*sse4_1_v4qiv4si2_2): ... this, and likewise. + (*sse4_1_v4hiv4si2_2): Rename to ... + (*sse4_1_v4hiv4si2_2): ... this, and likewise. + (*avx2_v4qiv4di2_2): Rename to ... + (*avx2_v4qiv4di2_2): ... this, and likewise. + (*avx2_v4hiv4di2_2): Rename to ... + (*avx2_v4hiv4di2_2): ... this, and likewise. + (*sse4_1_v2hiv2di2_2): Rename to ... + (*sse4_1_v2hiv2di2_2): ... this, and likewise. + (*sse4_1_v2siv2di2_2): Rename to ... + (*sse4_1_v2siv2di2_2): ... this, and likewise. + (*avx512f_v8qiv8di2_2): Rename to ... + (*avx512f_v8qiv8di2_2): ... this. + (*avx512vl_v8qiv8hi2_mask_2): New define_insn_and_split. + (*avx512vl_v8qiv8si2_mask_2): Likewise. + (*avx512vl_v4qiv4si2_mask_2): Likewise. + (*avx512vl_v4hiv4si2_mask_2): Likewise. + (*avx512f_v8qiv8di2_mask_2): Likewise. + (*avx512vl_v4qiv4di2_mask_2): Likewise. + (*avx512vl_v4hiv4di2_mask_2): Likewise. + (*avx512vl_v2hiv2di2_mask_2): Likewise. + (*avx512vl_v2siv2di2_mask_2): Likewise. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * doc/invoke.texi: Document -fcontracts-client-check= and + -fcontracts-definition-check=. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * doc/invoke.texi: Document -fcontract-checks-outlined and + -fcontract-disable-optimized-checks. + +2026-01-28 Nina Ranns + Iain Sandoe + + * tree-core.h (struct tree_base): Update tree flag usage comment. + +2026-01-28 Nina Ranns + Iain Sandoe + + * tree.h (CONST_WRAPPER_P): New. + +2026-01-28 Nina Ranns + Iain Sandoe + + * doc/invoke.texi: Document -fcontracts-conservative-ipa. + +2026-01-28 Iain Sandoe + Nina Ranns + Ville Voutilainen + + * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Add cases for contract + constant data that need to be in independent link-time 'atoms'. + * doc/invoke.texi: Document -fcontracts and + -fcontract-evaluation-semantic=. + +2026-01-28 Iain Sandoe + Nina Ranns + + * doc/invoke.texi: Remove documentation of contracts options. + 2026-01-27 Jakub Jelinek PR other/123841 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index bbe74c19f59..906124bb78f 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260128 +20260129 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 0d259d5191c..09bd650ee3b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,24 @@ +2026-01-28 Eric Botcazou + + PR ada/123857 + * checks.adb (Apply_Parameter_Validity_Checks.Add_Validity_Check): + Set Is_Checked on the generated {Pre,Post}_Condition pragma and + bail out if the parameter is of an Unchecked_Union type. + +2026-01-28 Eric Botcazou + + PR ada/123832 + * exp_imgv.adb: Add with and use clauses for Exp_Ch7. + (Expand_Image_Attribute): Establish a transient scope before + rewriting the attribute as a call to Put_Image. + (Expand_Wide_Image_Attribute): Likewise. + (Expand_Wide_Wide_Image_Attribute): Likewise. + * exp_put_image.ads (Build_Image_Call): Add note about the + need for a transient scope when the function is invoked. + * exp_put_image.adb (Build_Image_Call): Call Insert_Actions + to immediately insert the actions instead of wrapping them + in an Expression_With_Actions node. + 2026-01-25 Sandra Loosemore * gcc-interface/lang.opt.urls: Regenerated. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 9d81aba8baa..09639425a82 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,63 @@ +2026-01-28 Andrew Pinski + + PR c++/102846 + PR c/102846 + * known-headers.cc (macro_like_function_used::macro_like_function_used): New. + (macro_like_function_used::~macro_like_function_used): New. + * known-headers.h (class macro_like_function_used): New class. + +2026-01-28 Iain Sandoe + + * c.opt: Append a period to the message for + -fcontracts-client-check=. + +2026-01-28 Jakub Jelinek + + PR c/101312 + * c-pretty-print.cc (c_pretty_printer::direct_abstract_declarator): + Look up "array " attribute instead of "array". + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * c.opt (fcontracts-definition-check=, + fcontracts-client-check=): New. + * c.opt.urls: Regenerate. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * c.opt (fcontract-checks-outlined, + fcontract-disable-optimized-checks): New. + * c.opt.urls: Regenerate. + +2026-01-28 Nina Ranns + Iain Sandoe + + * c.opt (fcontracts-conservative-ipa): New. + +2026-01-28 Iain Sandoe + Nina Ranns + Ville Voutilainen + + * c-common.cc: Add contract_assert keyword. + * c-common.h (enum rid): Likewise. + * c-cppbuiltin.cc (c_cpp_builtins): Add C++26 contracts feature test + macro. + * c.opt: Add a flag to control the TU-wide evaluation semantic. Add + a flag to control whether P1494 observable_checkpoints are inserted + to separate contract checks. + * c.opt.urls: Regenerate. + +2026-01-28 Iain Sandoe + Nina Ranns + + * c-cppbuiltin.cc (c_cpp_builtins): Remove C++2a-specific + feature macros. + * c.opt: Remove C++2a-specific flags. + 2026-01-25 Sandra Loosemore * c.opt.urls: Regenerated. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 6009f105f13..0f080bea024 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,23 @@ +2026-01-28 Andrew Pinski + + PR c++/102846 + PR c/102846 + * c-decl.cc (lookup_name_fuzzy): Lookup function-like macro and + notify of misuse there. + +2026-01-28 Senthil Kumar Selvaraj + + PR c/123583 + * c-parser.cc (c_parser_maybe_reclassify_token): Reclassify only + C_ID_ID and C_ID_TYPENAME tokens. + +2026-01-28 Jakub Jelinek + + PR c/101312 + * c-tree.h (c_build_lang_qualified_type): Declare. + * c-objc-common.h (LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE): Define. + * c-objc-common.cc (c_build_lang_qualified_type): New function. + 2026-01-27 Qing Zhao PR c/123500 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7c211237a3e..2377df2b3d5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,283 @@ +2026-01-28 Andrew Pinski + + PR c++/102846 + PR c/102846 + * name-lookup.cc (lookup_name_fuzzy): Lookup function-like macro and + notify of misuse there. + +2026-01-28 Jakub Jelinek + + PR c++/102613 + * parser.cc: Implement C++23 P2246R1 - Character encoding of + diagnostic text. + (cp_parser_parenthesized_expression_list): For std attribute + argument where the first argument is CPP_STRING, ensure the + string is not translated. + * semantics.cc: Include c-family/c-pragma.h. + (cexpr_str::extract): Use cpp_translate_string to translate + string from ordinary literal encoding to SOURCE_CHARSET. + +2026-01-28 Jakub Jelinek + + * pt.cc (finish_expansion_stmt): Implement part of CWG3044. + Add to begin decltype(begin - begin){i} with std::ptrdiff_t + i instead of just i. + +2026-01-28 Jakub Jelinek + + PR c/101312 + * cp-tree.h (cxx_build_lang_qualified_type): Declare. + * cp-objcp-common.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Remove. + (LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE): Define. + * tree.cc (cxx_build_lang_qualified_type): New function. + +2026-01-28 Alex Yesmanchyk + Jason Merrill + + PR c++/38612 + * typeck2.cc (build_m_component_ref): Improve class mismatch + diagnostic. + +2026-01-28 vspefs + + * module.cc (trees_out::type_node): Add case for SPLICE_SCOPE. + (trees_in::tree_node): Add case for SPLICE_SCOPE. + +2026-01-28 Lucas Chollet + Jason Merrill + + PR c++/114450 + * lambda.cc (generic_lambda_fn_p): Handle null argument. + * semantics.cc (finish_id_expression_1): Check for generic lambda. + +2026-01-28 Johannes Altmanninger + Jason Merrill + + * typeck.cc (cp_build_array_ref): Suppress unused-value + warning for implicit comma expression. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * call.cc (build_cxx_call): Where enabled, wrap calls to + functions with contract specifiers. + * contracts.cc (enum contract_match_kind): Move to contracts + header. + (build_contract_condition_function): Copy caller-side wrapper + state. + (set_contract_wrapper_function, get_contract_wrapper_function, + get_orig_func_for_wrapper, contracts_fixup_cdtorname, + build_contract_wrapper_function, + get_or_create_contract_wrapper_function): New. + (start_function_contracts): Handle caller-side wrappers. + (maybe_apply_function_contracts): Likewise. + (copy_and_remap_contracts): Likewise. + (should_contract_wrap_call, maybe_contract_wrap_call, + define_contract_wrapper_func, emit_contract_wrapper_func): New. + (finish_function_contracts): Handle caller-side wrappers. + (get_src_loc_impl_ptr): Likewise. + * contracts.h (DECL_IS_WRAPPER_FN_P): New. + (enum contract_match_kind): Moved from contracts.cc. + (copy_and_remap_contracts): Allow selection on the specific + contract kind. + (maybe_contract_wrap_call, emit_contract_wrapper_func): New. + (set_decl_contracts): Delete dead code. + * cp-tree.h (struct lang_decl_fn): Add wrapper function bit. + (DECL_CONTRACT_WRAPPER): New. + * decl2.cc (c_parse_final_cleanups): Emit wrappers. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * contracts.cc (handle_contracts_p): Check that we are + handling an original function, not an outlined check. + (set_precondition_function, set_postcondition_function, + get_orig_for_outlined, contracts_fixup_name, + build_contract_condition_function, + build_precondition_function, build_postcondition_function, + build_contract_function_decls): New. + (start_function_contracts): Update for the case that we + outline the contract checks. + (build_arg_list, build_thunk_like_call, + add_pre_condition_fn_call, + get_postcondition_result_parameter, + add_post_condition_fn_call): New. + (apply_preconditions): Allow outlined checks. + (apply_postconditions): Likewise. + (get_precondition_function, get_postcondition_function, + set_contract_functions, remap_and_emit_conditions, + finish_function_contracts): New. + (get_src_loc_impl_ptr): Handle outlined checks. + (build_contract_check): Likewise. + * contracts.h (DECL_PRE_FN, DECL_POST_FN, + DECL_IS_PRE_FN_P, DECL_IS_POST_FN_P, + get_precondition_function, get_postcondition_function, + get_orig_for_outlined, finish_function_contracts, + set_contract_functions): New. + * cp-tree.h (enum lang_contract_helper): New. + (struct lang_decl_fn): Add contract helper enum. + (CONTRACT_HELPER): New. + (mangle_decl_string): New. + * decl.cc (finish_function): Emit outlined checks when + in use. + * module.cc (trees_out::fn_parms_init): Stream pre and post + outlined checks. + (trees_in::fn_parms_init): Reload pre and post outlined checks. + (check_mergeable_decl): Handle pre and post outlined functions. + (module_state_config::get_dialect): Add contracts dialect. + +2026-01-28 Nina Ranns + Iain Sandoe + + * contracts.cc (view_as_const, constify_contract_access, + set_parm_used_in_post, check_param_in_postcondition, + parm_used_in_post_p, check_postconditions_in_redecl): New. + (check_redecl_contract): Handle constification. + * contracts.h (constify_contract_access, view_as_const, + contract_const_wrapper_p, strip_contract_const_wrapper): New. + * cp-tree.h: Update tree flag usage comment. + * lambda.cc (build_capture_proxy): Handle constification. + * parser.cc (cp_parser_late_contract_condition, cp_parser_contract_assert, + cp_parser_function_contract_specifier): Likewise. + * pt.cc (tsubst_function_decl, tsubst_expr): Likewise. + * semantics.cc (finish_id_expression_1, finish_decltype_type): Likewise. + +2026-01-28 Nina Ranns + Iain Sandoe + + * contracts.cc (__tu_terminate_wrapper): New. + (build_terminate_wrapper): New. + (declare_terminate_wrapper): New. + (maybe_emit_violation_handler_wrappers): Build a no-ipa wrapper + for terminating contract violations if required. + +2026-01-28 Iain Sandoe + Nina Ranns + Ville Voutilainen + + * class.cc (check_for_override): Diagnose attemtps to add contracts to + virtual functions. + * constexpr.cc (cxx_eval_builtin_function_call): Handle + observable_checkpoints emitted for contracts. + (cxx_eval_constant_expression): Check we do not see contract assertions + here... + (potential_constant_expression_1): ... but that we do here. + * contracts.cc: Implement base C++26 P2600R14 contracts. + * contracts.h: Likewise. + * cp-gimplify.cc (cp_genericize_r): Lower contract assertions to control + flow and calls (where required) to the violation handler. + (fold_builtin_source_location): Use revised source_location impl. + constructor. + (build_source_location_impl): Split out the core of the constructor of + source_location so that it can be re-used from the contracts code. + * cp-tree.def (ASSERTION_STMT, PRECONDITION_STMT, + POSTCONDITION_STMT): Revise to allow space for specifying a semantic, + an assertion kind, and (where required) a source location. + * cp-tree.h (enum cp_tree_index, builtin_contract_violation_type): Add + the contract violation object type. + (struct saved_scope): Add a contracts class pointer. + (processing_postcondition, contract_class_ptr): New. + (struct cp_declarator): Add contract_specifiers. + (build_call_a_1): New. + (build_source_location_impl): New. + * decl.cc (duplicate_decls): Check function contract specifiers on + redeclarations. Handle contract specifiers on instantiations. + (cxx_init_decl_processing): Initialise the terminate function since + this can be called from contracts even when exception processing is + disabled. Build the contract violation object layout. + (start_decl): Handle checking contract postcondition identifiers. + (grokfndecl): Handle function contract specifiers. + (grokdeclarator): Likewise. + (start_preparsed_function): Start function contracts where needed. + (finish_function): Emit contract specifier AST corresponding to the + checked contracts. + * decl2.cc (c_parse_final_cleanups): Emit helpers for contract + violation handler calls. + * lex.cc (cxx_init): Add keyword warning for contract_assert. + * parser.cc (make_call_declarator): Add contract specifiers. + (unparsed_contracts): New. + (cp_parser_lambda_introducer): Allow contract specifier lambdas to have + a capture default. + (cp_parser_lambda_declarator_opt): Parse function contract specifiers. + (make_dummy_lambda_op): Account for contract specifiers in declarator. + (cp_parser_lambda_body): We have to ensure that deferred contracts are + parsed before we finish the lambda. + (cp_parser_statement): Handle contract_assert and diagnostics for + misplaced pre and post conditions. + (attr_chainon): Make this defensive against being passed a missing + attribute list. + (cp_parser_using_directive): Use attr_chainon instead of chainon. + (contract_attribute_p): New. + (cp_parser_init_declarator): Handle contract specifier names in + attributes. + (cp_parser_direct_declarator): Rename attrs to std_attrs for these. + (cp_parser_type_specifier_seq): Allow for function contract specifiers. + (cp_parser_class_specifier): Handle deferred parsing for function + contract specifiers + (cp_next_tokens_can_be_contract_attribute_p): True if this can be + a function contract specifier (which appear in the same position + as the attribute variant). + (cp_next_tokens_can_be_std_attribute_p): Allow for contracts. + (cp_nth_tokens_can_be_std_attribute_p): Likewise. + (cp_next_tokens_can_be_attribute_p): Likewise. + (cp_parser_late_contract_condition, cp_parser_late_contracts, + cp_parser_contract_assert, cp_parser_function_contract_specifier, + cp_parser_function_contract_specifier_seq): New. + (cp_parser_skip_std_attribute_spec_seq): Handle contracts case. + (cp_parser_skip_attributes_opt): Likewise. + (cp_parser_save_default_args): Handle unparsed contract specs. + * pt.cc (check_explicit_specialization): Handle removing contract + specifiers from instances. + (tsubst_contract, tsubst_contract_attribute, + tsubst_contract_attributes): New. + (tsubst_function_decl): Set contract specs. on substituted func. + (tsubst_stmt): Handle contract_assert. + (tsubst_expr): Allow for uses of postcondition uses of parm names. + (regenerate_decl_from_template): Handle function contract specs. + * semantics.cc (set_one_cleanup_loc): Add a location to + postcondition specifiers. + (finish_non_static_data_member): Diagnose bad uses of members + in contract specifiers. + (finish_this_expr): Diagnose invalid use of this in contract + specifiers. + (process_outer_var_ref): Allow use of params in contract specs. + (finish_id_expression_1): Likewise. + (apply_deduced_return_type): Maybe update postconditions when + the return type is changed. + * tree.cc (cp_tree_equal): Handle special cases when comparing + contracts. + +2026-01-28 Iain Sandoe + + * cp-tree.h (processing_contract_condition): New. + * name-lookup.cc (cp_binding_level_descriptor): Add contract scope. + (begin_scope): Likewise. + * name-lookup.h (enum scope_kind): Add sk_contract. + +2026-01-28 Iain Sandoe + Nina Ranns + + * contracts.cc: Remove all C++2a contracts code. + * contracts.h: Likewise. + * coroutines.cc (coro_build_actor_or_destroy_function): Remove + unused contracts references. + * cp-gimplify.cc (cp_genericize_r): Remove C++2a contracts + implementation. + * cp-objcp-common.cc (cp_handle_option): Likewise. + * cp-tree.h: Remove C++2a contracts code. + * decl.cc: Likewise. + * decl2.cc: Likewise. + * mangle.cc: Likewise. + * module.cc: Likewise. + * parser.cc: Likewise. + * pt.cc: Likewise. + * search.cc: Likewise. + * semantics.cc: Likewise. + * tree.cc: Likewise. + * constexpr.cc: Likewise. + 2026-01-27 Nathaniel Shead PR c++/122609 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 6b7f6b76875..d9807c902d6 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,29 @@ +2026-01-28 Iain Buclaw + + PR d/123419 + * expr.cc (ExprVisitor::visit (VarExp *)): Adjust assertion. + +2026-01-28 Iain Buclaw + + PR d/123798 + * types.cc (insert_aggregate_bitfield): Set DECL_NONADDRESSABLE_P and + DECL_PADDING_P on bit-field decls. + (finish_aggregate_type): Pass the aligned bit offset to layout_decl. + +2026-01-28 Iain Buclaw + + PR d/121477 + * d-codegen.cc (d_mark_addressable): Give an error if taking the + address of a DECL_BIT_FIELD. + +2026-01-28 Iain Buclaw + + PR d/123422 + * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Don't add + TARGET_EXPR around constructor. + * toir.cc (IRVisitor::visit (ReturnStatement *)): Recognize more + patterns for return value optimization. + 2026-01-27 Iain Buclaw PR d/120096 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8a67e60bf6c..044f07311c9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,420 @@ +2026-01-28 Eric Botcazou + + * gnat.dg/unchecked_union4.adb: New test. + +2026-01-28 Eric Botcazou + + * gnat.dg/put_image2.adb: New test. + +2026-01-28 Iain Buclaw + + PR d/123419 + * gdc.dg/pr123419.d: New test. + +2026-01-28 Iain Buclaw + + PR d/123798 + * gdc.dg/pr123798.d: New test. + +2026-01-28 Uros Bizjak + + PR target/36503 + * gcc.target/i386/pr36503-5.c: New test. + * gcc.target/i386/pr36503-6.c: New test. + +2026-01-28 Robin Dapp + + PR target/123824 + * gcc.target/riscv/abi/vls-gpr-1.c: New test. + * gcc.target/riscv/abi/vls-gpr-10.c: New test. + * gcc.target/riscv/abi/vls-gpr-11.c: New test. + * gcc.target/riscv/abi/vls-gpr-12.c: New test. + * gcc.target/riscv/abi/vls-gpr-13.c: New test. + * gcc.target/riscv/abi/vls-gpr-14.c: New test. + * gcc.target/riscv/abi/vls-gpr-2.c: New test. + * gcc.target/riscv/abi/vls-gpr-3.c: New test. + * gcc.target/riscv/abi/vls-gpr-4.c: New test. + * gcc.target/riscv/abi/vls-gpr-5.c: New test. + * gcc.target/riscv/abi/vls-gpr-6.c: New test. + * gcc.target/riscv/abi/vls-gpr-7.c: New test. + * gcc.target/riscv/abi/vls-gpr-8.c: New test. + * gcc.target/riscv/abi/vls-gpr-9.c: New test. + +2026-01-28 Andrew Pinski + + PR c++/102846 + PR c/102846 + * c-c++-common/function-like-macro-1.c: New test. + * c-c++-common/function-like-macro-2.c: New test. + +2026-01-28 Iain Buclaw + + PR d/121477 + * gdc.dg/pr121477.d: New test. + +2026-01-28 Vladimir N. Makarov + + PR target/121571 + * gcc.target/i386/pr121571.c: New. + +2026-01-28 Iain Buclaw + + PR d/123422 + * gdc.dg/torture/pr123422.d: New test. + +2026-01-28 Senthil Kumar Selvaraj + + PR c/123583 + * gcc.target/avr/pr123583.c: New test. + * gcc.target/i386/pr123583.c: New test. + +2026-01-28 Richard Biener + + PR middle-end/123575 + * g++.dg/pr123575.C: New testcase. + +2026-01-28 Richard Biener + + PR ipa/111036 + * gcc.dg/torture/pr111036.c: New testcase. + +2026-01-28 Richard Biener + + PR tree-optimization/123537 + * gcc.dg/pr123537.c: New testcase. + +2026-01-28 Karl Meakin + + * lib/target-supports.exp: Add `sve-bfscale` to `sve_exts`. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add test for `__ARM_SVE_FEATURE_BFSCALE`. + * gcc.target/aarch64/sme2/acle-asm/mul_bf16_x2.c: New test. + * gcc.target/aarch64/sme2/acle-asm/mul_bf16_x4.c: New test. + * gcc.target/aarch64/sme2/acle-asm/scale_bf16_x2.c: New test. + * gcc.target/aarch64/sme2/acle-asm/scale_bf16_x4.c: New test. + * gcc.target/aarch64/sve/acle/asm/scale_bf16.c: New test. + * gcc.target/aarch64/sve/acle/general-c/bfscale.c: New test. + +2026-01-28 Pengfei Li + + PR middle-end/123447 + * gcc.dg/pr123447.c: New test. + +2026-01-28 Andre Vieira + + * gfortran.dg/vect/pr123016.f90: New test. + +2026-01-28 Jakub Jelinek + + PR c++/102613 + * g++.dg/cpp1z/constexpr-asm-6.C: New test. + * g++.dg/cpp23/charset2.C: New test. + * g++.dg/cpp23/charset3.C: New test. + * g++.dg/cpp23/charset4.C: New test. + * g++.dg/cpp23/charset5.C: New test. + +2026-01-28 Jakub Jelinek + + * g++.dg/cpp26/expansion-stmt1.C (A::operator -, C::operator -): New. + * g++.dg/cpp26/expansion-stmt2.C (A::operator -, C::operator -): New. + * g++.dg/cpp26/expansion-stmt3.C (A::operator -, C::operator -): New. + * g++.dg/cpp26/expansion-stmt18.C (A::operator -): New. + * g++.dg/cpp26/expansion-stmt25.C: New test. + +2026-01-28 Jakub Jelinek + + PR c/101312 + * c-c++-common/pr101312-1.c: New test. + * c-c++-common/pr101312-2.c: New test. + +2026-01-28 Jakub Jelinek + + PR c++/123837 + * g++.dg/reflect/annotations9.C: New test. + +2026-01-28 Andrew Pinski + + PR tree-optimization/123849 + * g++.dg/warn/Wmismatched-new-delete-11.C: New test. + +2026-01-28 Richard Biener + + PR tree-optimization/110043 + * gcc.dg/torture/pr110043.c: New testcase. + +2026-01-28 Hongyu Wang + + PR target/123779 + * g++.target/i386/pr123779.C: New test. + +2026-01-28 Alex Yesmanchyk + Jason Merrill + + PR c++/38612 + * g++.dg/diagnostic/ptrtomem4.C: New test. + +2026-01-28 vspefs + + * g++.dg/modules/splice-scope-tree_a.C: New test. + * g++.dg/modules/splice-scope-tree_b.C: New test. + +2026-01-28 Lucas Chollet + Jason Merrill + + PR c++/114450 + * g++.dg/warn/Wunused-var-42.C: New test. + +2026-01-28 Johannes Altmanninger + Jason Merrill + + * g++.dg/warn/Wunused-value-2.C: New test. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/callerside-checks-non-trivial.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/ctor.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C: New test. + * g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C: New test. + * g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C: New test. + * g++.dg/contracts/cpp26/non-trivial-ice.C: New test. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C: New test. + * g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C: New test. + * g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C: New test. + * g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C: New test. + * g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C: New test. + * g++.dg/contracts/cpp26/empty-nt-param.C: Test with outlined checks. + * g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C: New file. + * g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C: New file. + +2026-01-28 Iain Sandoe + Nina Ranns + Ville Voutilainen + + PR c++/113968 + PR c++/110871 + PR c++/110872 + * g++.dg/contracts/cpp26/BZ121936-workaround-noipa.C: New test. + * g++.dg/contracts/cpp26/assertion-statement-errors.C: New test. + * g++.dg/contracts/cpp26/assertion-statement.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p14.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p17.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p4-error.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p4.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p6.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C: New test. + * g++.dg/contracts/cpp26/basic.scope.contract.p1.C: New test. + * g++.dg/contracts/cpp26/basic.scope.contract.p2.1.C: New test. + * g++.dg/contracts/cpp26/contract-assert-run.C: New test. + * g++.dg/contracts/cpp26/contract-assert-warn-attributes.C: New test. + * g++.dg/contracts/cpp26/contract-violation-noexcept.C: New test. + * g++.dg/contracts/cpp26/contract-violation-noexcept2.C: New test. + * g++.dg/contracts/cpp26/contract_genericize.C: New test. + * g++.dg/contracts/cpp26/contracts-friend1.C: New test. + * g++.dg/contracts/cpp26/contracts-nested-class1.C: New test. + * g++.dg/contracts/cpp26/contracts-nested-class2.C: New test. + * g++.dg/contracts/cpp26/contracts-tmpl-spec2.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.func.p4.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.func.p6.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.res.p1-NT.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.res.p1.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.res.p2.C: New test. + * g++.dg/contracts/cpp26/debug-and-opt.C: New test. + * g++.dg/contracts/cpp26/deferred1.C: New test. + * g++.dg/contracts/cpp26/dependent_contract.C: New test. + * g++.dg/contracts/cpp26/empty-nt-param.C: New test. + * g++.dg/contracts/cpp26/function-contract-specifier-seq-error.C: New test. + * g++.dg/contracts/cpp26/function-contract-specifier-seq.C: New test. + * g++.dg/contracts/cpp26/lambda.C: New test. + * g++.dg/contracts/cpp26/name_mangling.C: New test. + * g++.dg/contracts/cpp26/over.call.func.p3.1.C: New test. + * g++.dg/contracts/cpp26/pr113968.C: New test. + * g++.dg/contracts/cpp26/src-loc-0.C: New test. + * g++.dg/contracts/cpp26/src-loc-1.C: New test. + * g++.dg/contracts/cpp26/src-loc-2.C: New test. + * g++.dg/contracts/cpp26/throwing-violation-handler.cc: New test. + * g++.dg/contracts/cpp26/unused_warning.C: New test. + * g++.dg/contracts/cpp26/vaargs.C: New test. + * g++.dg/contracts/cpp2a/check-err.C: New test. + * g++.dg/coroutines/pr110871.C: New test. + * g++.dg/coroutines/pr110872.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p8.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.func.p7.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.res.p1-2.C: New test. + * g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-2.C: New test. + * g++.dg/contracts/cpp26/expr.prim.id.unqual.p7.C: New test. + * g++.dg/contracts/cpp26/basic.contract.eval.p7.3.C: New test. + * g++.dg/contracts/cpp26/intro.compliance.general.p2.3.4.C: New test. + * g++.dg/contracts/cpp26/dcl.contract.func.p7-t1.C: New file. + * g++.dg/contracts/cpp26/dcl.contract.func.p7-t2.C: New file. + +2026-01-28 Iain Sandoe + Nina Ranns + Ville Voutilainen + + * g++.dg/warn/Wkeyword-macro-1.C: Update for contract_assert. + * g++.dg/warn/Wkeyword-macro-2.C: Likewise. + * g++.dg/warn/Wkeyword-macro-4.C: Likewise. + * g++.dg/warn/Wkeyword-macro-5.C: Likewise. + * g++.dg/warn/Wkeyword-macro-7.C: Likewise. + * g++.dg/warn/Wkeyword-macro-8.C: Likewise. + * g++.dg/contracts/cpp26/basic.contract.eval.p8-2.C: New file. + +2026-01-28 Iain Sandoe + Nina Ranns + + * g++.dg/contracts/contracts-access1.C: Removed. + * g++.dg/contracts/contracts-assume1.C: Removed. + * g++.dg/contracts/contracts-assume2.C: Removed. + * g++.dg/contracts/contracts-assume3.C: Removed. + * g++.dg/contracts/contracts-assume4.C: Removed. + * g++.dg/contracts/contracts-assume5.C: Removed. + * g++.dg/contracts/contracts-assume6.C: Removed. + * g++.dg/contracts/contracts-comdat1.C: Removed. + * g++.dg/contracts/contracts-config1.C: Removed. + * g++.dg/contracts/contracts-constexpr1.C: Removed. + * g++.dg/contracts/contracts-constexpr2.C: Removed. + * g++.dg/contracts/contracts-constexpr3.C: Removed. + * g++.dg/contracts/contracts-conversion1.C: Removed. + * g++.dg/contracts/contracts-ctor-dtor1.C: Removed. + * g++.dg/contracts/contracts-ctor-dtor2.C: Removed. + * g++.dg/contracts/contracts-cv1.C: Removed. + * g++.dg/contracts/contracts-deduced1.C: Removed. + * g++.dg/contracts/contracts-deduced2.C: Removed. + * g++.dg/contracts/contracts-err1.C: Removed. + * g++.dg/contracts/contracts-externC.C: Removed. + * g++.dg/contracts/contracts-friend1.C: Removed. + * g++.dg/contracts/contracts-ft1.C: Removed. + * g++.dg/contracts/contracts-ignore1.C: Removed. + * g++.dg/contracts/contracts-ignore2.C: Removed. + * g++.dg/contracts/contracts-large-return.C: Removed. + * g++.dg/contracts/contracts-multiline1.C: Removed. + * g++.dg/contracts/contracts-multiple-inheritance1.C: Removed. + * g++.dg/contracts/contracts-multiple-inheritance2.C: Removed. + * g++.dg/contracts/contracts-nested-class1.C: Removed. + * g++.dg/contracts/contracts-nested-class2.C: Removed. + * g++.dg/contracts/contracts-nocopy1.C: Removed. + * g++.dg/contracts/contracts-override.C: Removed. + * g++.dg/contracts/contracts-post1.C: Removed. + * g++.dg/contracts/contracts-post2.C: Removed. + * g++.dg/contracts/contracts-post3.C: Removed. + * g++.dg/contracts/contracts-post4.C: Removed. + * g++.dg/contracts/contracts-post5.C: Removed. + * g++.dg/contracts/contracts-post6.C: Removed. + * g++.dg/contracts/contracts-post7.C: Removed. + * g++.dg/contracts/contracts-pre1.C: Removed. + * g++.dg/contracts/contracts-pre10.C: Removed. + * g++.dg/contracts/contracts-pre2.C: Removed. + * g++.dg/contracts/contracts-pre2a1.C: Removed. + * g++.dg/contracts/contracts-pre2a2.C: Removed. + * g++.dg/contracts/contracts-pre3.C: Removed. + * g++.dg/contracts/contracts-pre4.C: Removed. + * g++.dg/contracts/contracts-pre5.C: Removed. + * g++.dg/contracts/contracts-pre6.C: Removed. + * g++.dg/contracts/contracts-pre7.C: Removed. + * g++.dg/contracts/contracts-pre9.C: Removed. + * g++.dg/contracts/contracts-redecl1.C: Removed. + * g++.dg/contracts/contracts-redecl2.C: Removed. + * g++.dg/contracts/contracts-redecl3.C: Removed. + * g++.dg/contracts/contracts-redecl4.C: Removed. + * g++.dg/contracts/contracts-redecl5.C: Removed. + * g++.dg/contracts/contracts-redecl6.C: Removed. + * g++.dg/contracts/contracts-redecl7.C: Removed. + * g++.dg/contracts/contracts-redecl8.C: Removed. + * g++.dg/contracts/contracts-tmpl-attr1.C: Removed. + * g++.dg/contracts/contracts-tmpl-spec1.C: Removed. + * g++.dg/contracts/contracts-tmpl-spec2.C: Removed. + * g++.dg/contracts/contracts-tmpl-spec3.C: Removed. + * g++.dg/contracts/contracts1.C: Removed. + * g++.dg/contracts/contracts10.C: Removed. + * g++.dg/contracts/contracts11.C: Removed. + * g++.dg/contracts/contracts12.C: Removed. + * g++.dg/contracts/contracts13.C: Removed. + * g++.dg/contracts/contracts14.C: Removed. + * g++.dg/contracts/contracts15.C: Removed. + * g++.dg/contracts/contracts16.C: Removed. + * g++.dg/contracts/contracts17.C: Removed. + * g++.dg/contracts/contracts18.C: Removed. + * g++.dg/contracts/contracts19.C: Removed. + * g++.dg/contracts/contracts2.C: Removed. + * g++.dg/contracts/contracts20.C: Removed. + * g++.dg/contracts/contracts22.C: Removed. + * g++.dg/contracts/contracts24.C: Removed. + * g++.dg/contracts/contracts25.C: Removed. + * g++.dg/contracts/contracts3.C: Removed. + * g++.dg/contracts/contracts35.C: Removed. + * g++.dg/contracts/contracts4.C: Removed. + * g++.dg/contracts/contracts5.C: Removed. + * g++.dg/contracts/contracts6.C: Removed. + * g++.dg/contracts/contracts7.C: Removed. + * g++.dg/contracts/pr110159.C: Removed. + * g++.dg/contracts/pr113968.C: Removed. + * g++.dg/contracts/pr115434.C: Removed. + * g++.dg/contracts/pr116490.C: Removed. + * g++.dg/contracts/pr116607.C: Removed. + * g++.dg/contracts/pr117579.C: Removed. + * g++.dg/contracts/noexcept_preload_handler/Makefile: Removed. + * g++.dg/contracts/noexcept_preload_handler/README: Removed. + * g++.dg/contracts/noexcept_preload_handler/assert_fail.cpp: Removed. + * g++.dg/contracts/noexcept_preload_handler/handle_contract_violation.cpp: Removed. + * g++.dg/contracts/preload_handler/Makefile: Removed. + * g++.dg/contracts/preload_handler/README: Removed. + * g++.dg/contracts/preload_handler/assert_fail.cpp: Removed. + * g++.dg/contracts/preload_handler/handle_contract_violation.cpp: Removed. + * g++.dg/contracts/preload_nocontinue_handler/Makefile: Removed. + * g++.dg/contracts/preload_nocontinue_handler/README: Removed. + * g++.dg/contracts/preload_nocontinue_handler/assert_fail.cpp: Removed. + * g++.dg/contracts/preload_nocontinue_handler/handle_contract_violation.cpp: Removed. + * g++.dg/contracts/preload_nocontinue_handler/nocontinue.cpp: Removed. + * g++.dg/contracts/backtrace_handler/Makefile: Removed. + * g++.dg/contracts/backtrace_handler/README: Removed. + * g++.dg/contracts/backtrace_handler/assert_fail.cpp: Removed. + * g++.dg/contracts/backtrace_handler/example_out.txt: Removed. + * g++.dg/contracts/backtrace_handler/example_pretty.txt: Removed. + * g++.dg/contracts/backtrace_handler/handle_contract_violation.cpp: Removed. + * g++.dg/contracts/backtrace_handler/prettytrace.sh: Removed. + * g++.dg/coroutines/pr110871.C: Removed. + * g++.dg/coroutines/pr110872.C: Removed. + * g++.dg/modules/contracts-1_a.C: Removed. + * g++.dg/modules/contracts-1_b.C: Removed. + * g++.dg/modules/contracts-2_a.C: Removed. + * g++.dg/modules/contracts-2_b.C: Removed. + * g++.dg/modules/contracts-2_c.C: Removed. + * g++.dg/modules/contracts-3_a.C: Removed. + * g++.dg/modules/contracts-3_b.C: Removed. + * g++.dg/modules/contracts-4_a.C: Removed. + * g++.dg/modules/contracts-4_b.C: Removed. + * g++.dg/modules/contracts-4_c.C: Removed. + * g++.dg/modules/contracts-4_d.C: Removed. + * g++.dg/modules/contracts-5_a.C: Removed. + * g++.dg/modules/contracts-5_b.C: Removed. + * g++.dg/modules/contracts-tpl-friend-1_a.C: Removed. + * g++.dg/modules/contracts-tpl-friend-1_b.C: Removed. + * g++.dg/contracts/contracts8.C: Removed. + * g++.dg/contracts/contracts9.C: Removed. + * g++.dg/contracts/except_preload_handler/Makefile: Removed. + * g++.dg/contracts/except_preload_handler/README: Removed. + * g++.dg/contracts/except_preload_handler/assert_fail.cpp: Removed. + * g++.dg/contracts/except_preload_handler/handle_contract_violation.cpp: Removed. + 2026-01-27 Iain Buclaw PR d/120096 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e59712c1eba..f2def1a791e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,65 @@ +2026-01-28 Jonathan Wakely + + * src/experimental/Makefile.am: Change AM_CXXFLAGS to use C++20 + by default. + +2026-01-28 Jonathan Wakely + + * src/experimental/contract26.cc: Use #error if built without + contracts support enabled. + * include/std/source_location: Remove stray whitespace. + +2026-01-28 Jonathan Wakely + + PR tree-optimization/122197 + * include/bits/shared_ptr_base.h (~_Sp_counted_deleter): Use + diagnostic pragam to disable -Wfree-nonheap-object false + positive. + (~_Sp_counted_ptr_inplace): Likewise for -Warray-bounds false + positive. + +2026-01-28 Jonathan Wakely + + * config/locale/gnu/ctype_members.cc (use_table): New function. + (ctype::do_narrow): Use use_table. + +2026-01-28 Soumya AR + + * include/bits/atomic_base.h: + Add fetch_min and fetch_max memberfunctions. + * include/bits/version.def: + Add __cpp_lib_atomic_min_max feature test macro. + * include/bits/version.h (defined): Regenerate. + * include/std/atomic: Extend for fetch_min/max non-member functions. + * src/c++23/std.cc.in: Export atomic_fetch_min, atomic_fetch_max, + atomic_fetch_min_explicit, atomic_fetch_max_explicit. + * testsuite/29_atomics/atomic_integral/nonmembers_fetch_minmax.cc: + New test. + * testsuite/29_atomics/atomic_ref/integral_fetch_minmax.cc: New test. + +2026-01-28 Nina Ranns + Iain Sandoe + Ville Voutilainen + + * include/Makefile.am: Add contract include. + * include/Makefile.in: Regenerate. + * include/bits/version.def: Add ftm for contracts. + * include/bits/version.h: Regenerate. + * include/precompiled/stdc++.h: Add contracts header. + * include/std/source_location: Befriend the contract_violation + class so that we can initialise a source_location from an + existing __impl *. + * src/c++23/std.cc.in: Add contracts support. + * src/experimental/Makefile.am: Add new contract violation + implementation, remove the old one. + * src/experimental/Makefile.in: Regenerate. + * include/experimental/contract: Removed. + * src/experimental/contract.cc: Removed. + * include/std/contracts: New file. + * src/experimental/contract26.cc: New file. + * testsuite/18_support/contracts/invoke_default_cvh.cc: New test. + * testsuite/18_support/contracts/invoke_default_cvh2.cc: New test. + 2026-01-23 Tomasz Kamiński PR libstdc++/123758