mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Daily bump.
This commit is contained in:
202
gcc/ChangeLog
202
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
|
||||
|
||||
@@ -1 +1 @@
|
||||
20260128
|
||||
20260129
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
280
gcc/cp/ChangeLog
280
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user