[gcc r16-7128] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Thu Jan 29 00:17:19 GMT 2026


https://gcc.gnu.org/g:67bb07e67270878f9d3b032f84ee86b970d84b15

commit r16-7128-g67bb07e67270878f9d3b032f84ee86b970d84b15
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Thu Jan 29 00:16:45 2026 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 202 +++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |  21 +++
 gcc/c-family/ChangeLog  |  60 +++++++
 gcc/c/ChangeLog         |  20 +++
 gcc/cp/ChangeLog        | 280 ++++++++++++++++++++++++++++++++
 gcc/d/ChangeLog         |  26 +++
 gcc/testsuite/ChangeLog | 417 ++++++++++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  |  62 +++++++
 9 files changed, 1089 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e6fc88a26585..51730bfd2f3f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index bbe74c19f598..906124bb78f8 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260128
+20260129
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0d259d5191cc..09bd650ee3b8 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 9d81aba8baaf..09639425a820 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -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.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 6009f105f13d..0f080bea0249 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -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
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7c211237a3e3..2377df2b3d50 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index 6b7f6b76875d..d9807c902d68 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8a67e60bf6cd..044f07311c94 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e59712c1eba6..f2def1a791e2 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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


More information about the Libstdc++-cvs mailing list