]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 29 Jan 2026 00:16:45 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 29 Jan 2026 00:16:45 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c-family/ChangeLog
gcc/c/ChangeLog
gcc/cp/ChangeLog
gcc/d/ChangeLog
gcc/testsuite/ChangeLog
libstdc++-v3/ChangeLog

index e6fc88a26585af502ee475aae24c211b375098a2..51730bfd2f3fd5dc6172efc4cd0834aca57b4ad1 100644 (file)
@@ -1,3 +1,205 @@
+2026-01-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36503
+       * config/i386/i386.md (*<insn:any_shift><mode:SWI48>3_sub):
+       Also allow operands[3] & (<mode_bitsize>-1) == (<mode_bitsize>-1)
+       in insn condition. Emit NOT RTX instead of NEG RTX in this case.
+       (*<insn:any_shift><mode:SWI48>3_sub_1): Ditto.
+
+2026-01-28  Robin Dapp  <rdapp@oss.qualcomm.com>
+
+       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  <vmakarov@redhat.com>
+
+       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  <rguenther@suse.de>
+
+       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  <rguenther@suse.de>
+
+       PR ipa/111036
+       * match.pd (__builtin_constant_p ((T)x)): Strip nop-conversions
+       from __builtin_constant_p arguments.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/106859
+       * var-tracking.cc (val_store): Dump -1 as UID if setting_insn
+       is NULL.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/123537
+       * match.pd (REDUC (@0 & @1) -> @0[I] & @1[I]): Restrict
+       allowed conversions.
+
+2026-01-28  Karl Meakin  <karl.meakin@arm.com>
+
+       * 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_<optab><mode>, @aarch64_sve_<optab><mode>_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  <Pengfei.Li2@arm.com>
+
+       PR middle-end/123447
+       * expr.cc (expand_expr_real_1): Increase stack slot alignment
+       for STRICT_ALIGNMENT targets.
+
+2026-01-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       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  <jakub@redhat.com>
+
+       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  <jakub@redhat.com>
+
+       PR c++/123837
+       * ipa-free-lang-data.cc (find_decls_types_r): Remove C++ annotations
+       from {DECL,TYPE}_ATRIBUTES.
+
+2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+       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  <rguenther@suse.de>
+
+       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  <hongyu.wang@intel.com>
+
+       PR target/123779
+       * config/i386/sse.md (*sse4_1_<code>v8qiv8hi2<mask_name>_2):
+       Rename to ...
+       (*sse4_1_<code>v8qiv8hi2_2): ... this, and drop mask conditions.
+       (*avx2_<code>v8qiv8si2<mask_name>_2): Rename to ...
+       (*avx2_<code>v8qiv8si2_2): ... this, and likewise.
+       (*sse4_1_<code>v4qiv4si2<mask_name>_2): Rename to ...
+       (*sse4_1_<code>v4qiv4si2_2): ... this, and likewise.
+       (*sse4_1_<code>v4hiv4si2<mask_name>_2): Rename to ...
+       (*sse4_1_<code>v4hiv4si2_2): ... this, and likewise.
+       (*avx2_<code>v4qiv4di2<mask_name>_2): Rename to ...
+       (*avx2_<code>v4qiv4di2_2): ... this, and likewise.
+       (*avx2_<code>v4hiv4di2<mask_name>_2): Rename to ...
+       (*avx2_<code>v4hiv4di2_2): ... this, and likewise.
+       (*sse4_1_<code>v2hiv2di2<mask_name>_2): Rename to ...
+       (*sse4_1_<code>v2hiv2di2_2): ... this, and likewise.
+       (*sse4_1_<code>v2siv2di2<mask_name>_2): Rename to ...
+       (*sse4_1_<code>v2siv2di2_2): ... this, and likewise.
+       (*avx512f_<code>v8qiv8di2<mask_name>_2): Rename to ...
+       (*avx512f_<code>v8qiv8di2_2): ... this.
+       (*avx512vl_<code>v8qiv8hi2_mask_2): New define_insn_and_split.
+       (*avx512vl_<code>v8qiv8si2_mask_2): Likewise.
+       (*avx512vl_<code>v4qiv4si2_mask_2): Likewise.
+       (*avx512vl_<code>v4hiv4si2_mask_2): Likewise.
+       (*avx512f_<code>v8qiv8di2_mask_2): Likewise.
+       (*avx512vl_<code>v4qiv4di2_mask_2): Likewise.
+       (*avx512vl_<code>v4hiv4di2_mask_2): Likewise.
+       (*avx512vl_<code>v2hiv2di2_mask_2): Likewise.
+       (*avx512vl_<code>v2siv2di2_mask_2): Likewise.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * doc/invoke.texi: Document -fcontracts-client-check= and
+       -fcontracts-definition-check=.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * doc/invoke.texi: Document -fcontract-checks-outlined and
+       -fcontract-disable-optimized-checks.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * tree-core.h (struct tree_base): Update tree flag usage comment.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * tree.h (CONST_WRAPPER_P): New.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * doc/invoke.texi: Document -fcontracts-conservative-ipa.
+
+2026-01-28  Iain Sandoe  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+
+       * doc/invoke.texi: Remove documentation of contracts options.
+
 2026-01-27  Jakub Jelinek  <jakub@redhat.com>
 
        PR other/123841
index bbe74c19f598769a4cd595be75700552417c1169..906124bb78f85603fc82954df1bc35899f83e6b4 100644 (file)
@@ -1 +1 @@
-20260128
+20260129
index 0d259d5191cc0d4b4210398c1e2f6d4109a4c81d..09bd650ee3b84e642e7c7094e74df400e3483e65 100644 (file)
@@ -1,3 +1,24 @@
+2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       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  <ebotcazou@adacore.com>
+
+       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  <sloosemore@baylibre.com>
 
        * gcc-interface/lang.opt.urls: Regenerated.
index 9d81aba8baaffa4695cf407d58ccb524c1c1835a..09639425a820e5946b069fd94177e887f8280c8e 100644 (file)
@@ -1,3 +1,63 @@
+2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+       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  <iain@sandoe.co.uk>
+
+       * c.opt: Append a period to the message for
+       -fcontracts-client-check=.
+
+2026-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * c.opt (fcontracts-definition-check=,
+       fcontracts-client-check=): New.
+       * c.opt.urls: Regenerate.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * c.opt (fcontract-checks-outlined,
+       fcontract-disable-optimized-checks): New.
+       * c.opt.urls: Regenerate.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * c.opt (fcontracts-conservative-ipa): New.
+
+2026-01-28  Iain Sandoe  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+
+       * c-cppbuiltin.cc (c_cpp_builtins): Remove C++2a-specific
+       feature macros.
+       * c.opt: Remove C++2a-specific flags.
+
 2026-01-25  Sandra Loosemore  <sloosemore@baylibre.com>
 
        * c.opt.urls: Regenerated.
index 6009f105f13dc0168465bdc803de2ce7750d8b3e..0f080bea0249e6896f7013038ba80af074b936b2 100644 (file)
@@ -1,3 +1,23 @@
+2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+       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  <saaadhu@gcc.gnu.org>
+
+       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  <jakub@redhat.com>
+
+       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  <qing.zhao@oracle.com>
 
        PR c/123500
index 7c211237a3e375657b723bb229adafbb4073c152..2377df2b3d500ac929ecddf28f5df1ba9b68a3c6 100644 (file)
@@ -1,3 +1,283 @@
+2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+       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  <jakub@redhat.com>
+
+       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  <jakub@redhat.com>
+
+       * 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  <jakub@redhat.com>
+
+       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  <aliaksandr.yesmanchyk@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/38612
+       * typeck2.cc (build_m_component_ref): Improve class mismatch
+       diagnostic.
+
+2026-01-28  vspefs  <vspefs@protonmail.com>
+
+       * 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  <lucas.chollet@free.fr>
+           Jason Merrill  <jason@redhat.com>
+
+       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  <aclopte@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * typeck.cc (cp_build_array_ref): Suppress unused-value
+       warning for implicit comma expression.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * 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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <iain@sandoe.co.uk>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+
+       * 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  <nathanieloshead@gmail.com>
 
        PR c++/122609
index 6b7f6b76875dddc7b2ed649dbd3cb4a38ca874f0..d9807c902d684c2eee0038b7ffdb0c6b664fd34c 100644 (file)
@@ -1,3 +1,29 @@
+2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/123419
+       * expr.cc (ExprVisitor::visit (VarExp *)): Adjust assertion.
+
+2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       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  <ibuclaw@gdcproject.org>
+
+       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  <ibuclaw@gdcproject.org>
+
+       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  <ibuclaw@gdcproject.org>
 
        PR d/120096
index 8a67e60bf6cd5153d2bd5b0c183c1b830b68049b..044f07311c94d3c39b9eb1cf0808358df51d2585 100644 (file)
@@ -1,3 +1,420 @@
+2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/unchecked_union4.adb: New test.
+
+2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/put_image2.adb: New test.
+
+2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/123419
+       * gdc.dg/pr123419.d: New test.
+
+2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/123798
+       * gdc.dg/pr123798.d: New test.
+
+2026-01-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36503
+       * gcc.target/i386/pr36503-5.c: New test.
+       * gcc.target/i386/pr36503-6.c: New test.
+
+2026-01-28  Robin Dapp  <rdapp@oss.qualcomm.com>
+
+       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  <andrew.pinski@oss.qualcomm.com>
+
+       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  <ibuclaw@gdcproject.org>
+
+       PR d/121477
+       * gdc.dg/pr121477.d: New test.
+
+2026-01-28  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR target/121571
+       * gcc.target/i386/pr121571.c: New.
+
+2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR d/123422
+       * gdc.dg/torture/pr123422.d: New test.
+
+2026-01-28  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+       PR c/123583
+       * gcc.target/avr/pr123583.c: New test.
+       * gcc.target/i386/pr123583.c: New test.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/123575
+       * g++.dg/pr123575.C: New testcase.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/111036
+       * gcc.dg/torture/pr111036.c: New testcase.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/123537
+       * gcc.dg/pr123537.c: New testcase.
+
+2026-01-28  Karl Meakin  <karl.meakin@arm.com>
+
+       * 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  <Pengfei.Li2@arm.com>
+
+       PR middle-end/123447
+       * gcc.dg/pr123447.c: New test.
+
+2026-01-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * gfortran.dg/vect/pr123016.f90: New test.
+
+2026-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       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  <jakub@redhat.com>
+
+       * 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  <jakub@redhat.com>
+
+       PR c/101312
+       * c-c++-common/pr101312-1.c: New test.
+       * c-c++-common/pr101312-2.c: New test.
+
+2026-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/123837
+       * g++.dg/reflect/annotations9.C: New test.
+
+2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+       PR tree-optimization/123849
+       * g++.dg/warn/Wmismatched-new-delete-11.C: New test.
+
+2026-01-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/110043
+       * gcc.dg/torture/pr110043.c: New testcase.
+
+2026-01-28  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/123779
+       * g++.target/i386/pr123779.C: New test.
+
+2026-01-28  Alex Yesmanchyk  <aliaksandr.yesmanchyk@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/38612
+       * g++.dg/diagnostic/ptrtomem4.C: New test.
+
+2026-01-28  vspefs  <vspefs@protonmail.com>
+
+       * 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  <lucas.chollet@free.fr>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/114450
+       * g++.dg/warn/Wunused-var-42.C: New test.
+
+2026-01-28  Johannes Altmanninger  <aclopte@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/warn/Wunused-value-2.C: New test.
+
+2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <iain@sandoe.co.uk>
+           Nina Ranns  <dinka.ranns@gmail.com>
+
+       * 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  <ibuclaw@gdcproject.org>
 
        PR d/120096
index e59712c1eba6b4ba3ea7ca4a597760239ce49f65..f2def1a791e2cc9826c6401df4424a38cb968380 100644 (file)
@@ -1,3 +1,65 @@
+2026-01-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/experimental/Makefile.am: Change AM_CXXFLAGS to use C++20
+       by default.
+
+2026-01-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/experimental/contract26.cc: Use #error if built without
+       contracts support enabled.
+       * include/std/source_location: Remove stray whitespace.
+
+2026-01-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       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  <jwakely@redhat.com>
+
+       * config/locale/gnu/ctype_members.cc (use_table): New function.
+       (ctype<wchar_t>::do_narrow): Use use_table.
+
+2026-01-28  Soumya AR  <soumyaa@nvidia.com>
+
+       * 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  <dinka.ranns@gmail.com>
+           Iain Sandoe  <iain@sandoe.co.uk>
+           Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       * 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  <tkaminsk@redhat.com>
 
        PR libstdc++/123758