mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
Daily bump.
This commit is contained in:
202
gcc/ChangeLog
202
gcc/ChangeLog
@@ -1,3 +1,205 @@
|
||||
2025-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
|
||||
Guard VF-based costing with !m_costing_for_scalar.
|
||||
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
* internal-fn.cc (expand_ACCESS_WITH_SIZE): Update comments.
|
||||
* internal-fn.def (ACCESS_WITH_SIZE): Update comments.
|
||||
* tree-object-size.cc (access_with_size_object_size): Update comments.
|
||||
Adjust the arguments per the new design.
|
||||
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
PR middle-end/121000
|
||||
* internal-fn.cc (expand_ACCESS_WITH_SIZE): Update comments.
|
||||
* internal-fn.def (ACCESS_WITH_SIZE): Update comments.
|
||||
* tree-object-size.cc (access_with_size_object_size): Update comments.
|
||||
Get the element_size from the 6th argument directly.
|
||||
|
||||
2025-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-sve2.md (aarch64_gather_ld1q): Replace with...
|
||||
(@aarch64_gather_ld1q<mode>): ...this, parameterizing based on mode.
|
||||
* config/aarch64/aarch64-sve-builtins-sve2.cc
|
||||
(svld1q_gather_impl::expand): Update accordingly.
|
||||
(svst1q_scatter_impl::expand): Use aarch64_sve_reinterpret
|
||||
instead of force_lowpart_subreg.
|
||||
|
||||
2025-07-10 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* auto-profile.cc: Include output.h.
|
||||
(function_instance::set_call_location): Also sanity check
|
||||
that location is known.
|
||||
(raw_symbol_name): Two new static functions.
|
||||
(dump_inline_stack): Use it.
|
||||
(string_table::get_index_by_decl): Likewise.
|
||||
(function_instance::get_cgraph_node): Likewise.
|
||||
(function_instance::get_function_instance_by_decl): Fix typo
|
||||
in warning; use raw names; fix lineno decoding.
|
||||
(match_with_target): Add containing funciton parameter;
|
||||
correctly output function and call location in warning.
|
||||
(function_instance::lookup_count): Fix warning locations.
|
||||
(function_instance::match): Fix warning locations; avoid
|
||||
crash with mismatched callee; do not warn about broken callsites
|
||||
twice.
|
||||
(autofdo_source_profile::offline_external_functions): Use
|
||||
raw_assembler_name.
|
||||
(walk_block): Use raw_assembler_name.
|
||||
|
||||
2025-07-10 Robin Dapp <rdapp@ventanamicro.com>
|
||||
|
||||
PR target/121014
|
||||
* cfgexpand.cc (expand_debug_expr): Assert FLOAT_MODE_P.
|
||||
* optabs-tree.cc (optab_for_tree_code): Assert FLOAT_TYPE_P.
|
||||
* tree-vect-loop.cc (vect_get_loop_len): Use EXACT_DIV_EXPR.
|
||||
|
||||
2025-07-10 Robin Dapp <rdapp@ventanamicro.com>
|
||||
|
||||
PR target/118734
|
||||
* config/riscv/constraints.md (Wdm): Use tunable for Wdm
|
||||
constraint.
|
||||
* config/riscv/riscv-protos.h (emit_avltype_insn): Declare.
|
||||
(can_be_broadcasted_p): Rename to...
|
||||
(can_be_broadcast_p): ...this.
|
||||
* config/riscv/predicates.md: Use renamed function.
|
||||
(strided_load_broadcast_p): Declare.
|
||||
* config/riscv/riscv-selftests.cc (run_broadcast_selftests):
|
||||
Only run broadcast selftest if strided broadcasts are OK.
|
||||
* config/riscv/riscv-v.cc (emit_avltype_insn): New function.
|
||||
(sew64_scalar_helper): Only emit a pred_broadcast if the new
|
||||
tunable says so.
|
||||
(can_be_broadcasted_p): Rename to...
|
||||
(can_be_broadcast_p): ...this and use new tunable.
|
||||
* config/riscv/riscv.cc (struct riscv_tune_param): Add strided
|
||||
broad tunable.
|
||||
(strided_load_broadcast_p): Implement.
|
||||
* config/riscv/vector.md: Use strided_load_broadcast_p () and
|
||||
work around 64-bit broadcast on rv32 targets.
|
||||
|
||||
2025-07-10 Co-authored-by: Jeff Law <jlaw@ventanamicro.com>
|
||||
|
||||
* config/riscv/riscv.cc (riscv_fusion_pairs): Add new cases.
|
||||
(riscv_set_is_add): New function.
|
||||
(riscv_set_is_addi, riscv_set_is_adduw, riscv_set_is_shNadd): Likewise.
|
||||
(riscv_set_is_shNadduw): Likewise.
|
||||
(riscv_macro_fusion_pair_p): Add new fusion cases.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-slp.cc (vect_analyze_slp): Fail for non-canonical
|
||||
gconds.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-slp.cc (vect_build_slp_instance): Do not use
|
||||
SLP_TREE_VECTYPE to determine the conversion back to the
|
||||
reduction IV.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-loop.cc (vectorizable_reduction): Avoid
|
||||
vect_is_simple_use and record a vector type if we come
|
||||
up with one.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-stmts.cc (get_load_store_type): Do not use
|
||||
vect_is_simple_use to fill gather/scatter offset operand
|
||||
vectype and dt.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-loop.cc (vect_model_reduction_cost): Get SLP
|
||||
node instead of stmt_info and use that when recording costs.
|
||||
|
||||
2025-07-10 Kyrylo Tkachov <ktkachov@nvidia.com>
|
||||
|
||||
PR target/120999
|
||||
* config/aarch64/aarch64-sve2.md (*aarch64_sve2_nor<mode>):
|
||||
Adjust movprfx alternative.
|
||||
|
||||
2025-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* doc/sourcebuild.texi (aarch64_sve2_hw, aarch64_sve2p1_hw): Document.
|
||||
* config/aarch64/aarch64.cc (aarch64_evpc_hvla): Extend to
|
||||
BYTES_BIG_ENDIAN.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vectorizer.h (vect_analyze_stmt): Remove stmt-info
|
||||
and need_to_vectorize arguments.
|
||||
* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
|
||||
Adjust.
|
||||
* tree-vect-stmts.cc (can_vectorize_live_stmts): Remove
|
||||
stmt_info argument and remove non-SLP path.
|
||||
(vect_analyze_stmt): Remove stmt_info and need_to_vectorize
|
||||
argument and prune paths no longer reachable.
|
||||
(vect_transform_stmt): Adjust.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/i386/x86-tune.def: Change "Tunning the" to "tuning" in
|
||||
comment and use semicolon instead of dot in comment.
|
||||
* loop-unroll.cc (decide_unroll_stupid): Comment spelling fix,
|
||||
tunning -> tuning.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* tree-vect-loop.cc (scale_profile_for_vect_loop): Comment
|
||||
spelling fix: bellow -> below.
|
||||
* ipa-polymorphic-call.cc (record_known_type): Likewise.
|
||||
* config/i386/x86-tune.def: Likewise.
|
||||
* config/riscv/vector.md (*vsetvldi_no_side_effects_si_extend):
|
||||
Likewise.
|
||||
* tree-scalar-evolution.cc (iv_can_overflow_p): Likewise.
|
||||
* ipa-devirt.cc (add_type_duplicate): Likewise.
|
||||
* tree-ssa-loop-niter.cc (maybe_lower_iteration_bound): Likewise.
|
||||
* gimple-ssa-sccopy.cc: Likewise.
|
||||
* cgraphunit.cc: Likewise.
|
||||
* graphite.h (struct poly_dr): Likewise.
|
||||
* ipa-reference.cc (ignore_edge_p): Likewise.
|
||||
* tree-ssa-alias.cc (ao_compare::compare_ao_refs): Likewise.
|
||||
* profile-count.h (profile_probability::probably_reliable_p):
|
||||
Likewise.
|
||||
* ipa-inline-transform.cc (inline_call): Likewise.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-loop.cc (vect_dissolve_slp_only_groups): Remove.
|
||||
(vect_analyze_loop_2): Do not call it.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-loop.cc (vect_active_double_reduction_p): Remove.
|
||||
(vect_analyze_loop_operations): Remove.
|
||||
(vect_analyze_loop_2): Do not call it.
|
||||
|
||||
2025-07-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-loop.cc (vect_determine_vf_for_stmt_1): Rename
|
||||
to ...
|
||||
(vect_determine_vectype_for_stmt_1): ... this and only set
|
||||
STMT_VINFO_VECTYPE. Fail for single-element vector types.
|
||||
(vect_determine_vf_for_stmt): Rename to ...
|
||||
(vect_determine_vectype_for_stmt): ... this and only set
|
||||
STMT_VINFO_VECTYPE. Fail for single-element vector types.
|
||||
(vect_determine_vectorization_factor): Rename to ...
|
||||
(vect_set_stmts_vectype): ... this and only set STMT_VINFO_VECTYPE.
|
||||
(vect_update_vf_for_slp): Remove.
|
||||
(vect_analyze_loop_operations): Remove walk over stmts.
|
||||
(vect_analyze_loop_2): Call vect_set_stmts_vectype instead of
|
||||
vect_determine_vectorization_factor. Set vectorization factor
|
||||
from LOOP_VINFO_SLP_UNROLLING_FACTOR. Fail if vect_detect_hybrid_slp
|
||||
detects hybrid stmts or when vect_make_slp_decision finds
|
||||
nothing to SLP.
|
||||
* tree-vect-slp.cc (vect_detect_hybrid_slp): Move check
|
||||
whether we have any hybrid stmts here from vect_update_vf_for_slp
|
||||
* tree-vect-stmts.cc (vect_analyze_stmt): Remove loop over
|
||||
stmts.
|
||||
* tree-vectorizer.h (vect_detect_hybrid_slp): Update.
|
||||
|
||||
2025-07-09 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.cc (aarch64_simd_valid_imm): Account
|
||||
|
||||
@@ -1 +1 @@
|
||||
20250710
|
||||
20250711
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* par-load.adb: Comment spelling fix: bellow -> below.
|
||||
* libgnarl/s-taskin.ads: Likewise.
|
||||
|
||||
2025-07-04 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/Make-lang.in (ACATSDIR): Change to acats-4.
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/117785
|
||||
* c-cppbuiltin.cc (c_cpp_builtins): Predefine
|
||||
__cpp_constexpr_exceptions=202411L for C++26.
|
||||
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
* c-ubsan.cc (get_bound_from_access_with_size): Adjust the position
|
||||
of the arguments per the new design.
|
||||
|
||||
2025-07-07 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
Revert:
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
* c-typeck.cc (build_access_with_size_for_counted_by): Update comments.
|
||||
Adjust the arguments per the new design.
|
||||
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
PR middle-end/121000
|
||||
* c-typeck.cc (build_access_with_size_for_counted_by): Update comments.
|
||||
Pass TYPE_SIZE_UNIT of the element as the 6th argument.
|
||||
|
||||
2025-07-07 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
Revert:
|
||||
|
||||
@@ -1,3 +1,62 @@
|
||||
2025-07-10 James K. Lowden <jklowden@cobolworx.com>
|
||||
|
||||
PR cobol/120765
|
||||
* cdf.y: Extend grammar for new CDF syntax, relocate dictionary.
|
||||
* cdfval.h (cdf_dictionary): Use new CDF dictionary.
|
||||
* dts.h: Remove useless assignment, note incorrect behavior.
|
||||
* except.cc: Remove obsolete EC state.
|
||||
* gcobol.1: Document CDF in its own section.
|
||||
* genapi.cc (parser_statement_begin): Use new EC state function.
|
||||
(parser_file_merge): Same.
|
||||
(parser_check_fatal_exception): Same.
|
||||
* genutil.cc (get_and_check_refstart_and_reflen): Same.
|
||||
(get_depending_on_value_from_odo): Same.
|
||||
(get_data_offset): Same.
|
||||
(process_this_exception): Same.
|
||||
* lexio.cc (check_push_pop_directive): New function.
|
||||
(check_source_format_directive): Restrict regex search to 1 line.
|
||||
(cdftext::free_form_reference_format): Use new function.
|
||||
* parse.y: Define new CDF tokens, use new CDF state.
|
||||
* parse_ante.h (cdf_tokens): Use new CDF state.
|
||||
(redefined_token): Same.
|
||||
(class prog_descr_t): Remove obsolete CDF state.
|
||||
(class program_stack_t): Same.
|
||||
(current_call_convention): Same.
|
||||
* scan.l: Recognize new CDF tokens.
|
||||
* scan_post.h (is_cdf_token): Same.
|
||||
* symbols.h (cdf_current_tokens): Change current_call_convention to return void.
|
||||
* token_names.h: Regenerate.
|
||||
* udf/stored-char-length.cbl: Use new PUSH/POP CDF functionality.
|
||||
* util.cc (class cdf_directives_t): Define cdf_directives_t.
|
||||
(current_call_convention): Same.
|
||||
(cdf_current_tokens): Same.
|
||||
(cdf_dictionary): Same.
|
||||
(cdf_enabled_exceptions): Same.
|
||||
(cdf_push): Same.
|
||||
(cdf_push_call_convention): Same.
|
||||
(cdf_push_current_tokens): Same.
|
||||
(cdf_push_dictionary): Same.
|
||||
(cdf_push_enabled_exceptions): Same.
|
||||
(cdf_push_source_format): Same.
|
||||
(cdf_pop): Same.
|
||||
(cdf_pop_call_convention): Same.
|
||||
(cdf_pop_current_tokens): Same.
|
||||
(cdf_pop_dictionary): Same.
|
||||
(cdf_pop_enabled_exceptions): Same.
|
||||
(cdf_pop_source_format): Same.
|
||||
* util.h (cdf_push): Declare cdf_directives_t.
|
||||
(cdf_push_call_convention): Same.
|
||||
(cdf_push_current_tokens): Same.
|
||||
(cdf_push_dictionary): Same.
|
||||
(cdf_push_enabled_exceptions): Same.
|
||||
(cdf_push_source_format): Same.
|
||||
(cdf_pop): Same.
|
||||
(cdf_pop_call_convention): Same.
|
||||
(cdf_pop_current_tokens): Same.
|
||||
(cdf_pop_dictionary): Same.
|
||||
(cdf_pop_source_format): Same.
|
||||
(cdf_pop_enabled_exceptions): Same.
|
||||
|
||||
2025-07-09 Robert Dubner <rdubner@symas.com>
|
||||
James K. Lowden <jklowden@cobolworx.com>
|
||||
|
||||
|
||||
221
gcc/cp/ChangeLog
221
gcc/cp/ChangeLog
@@ -1,3 +1,224 @@
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* cp-tree.h (struct lang_type): Add comment before key_method.
|
||||
Remove lambda_expr.
|
||||
(CLASSTYPE_KEY_METHOD): Give NULL_TREE if not TYPE_POLYMORPHIC_P.
|
||||
(SET_CLASSTYPE_KEY_METHOD): Define.
|
||||
(CLASSTYPE_LAMBDA_EXPR): Give NULL_TREE if TYPE_POLYMORPHIC_P.
|
||||
Use key_method member instead of lambda_expr.
|
||||
(SET_CLASSTYPE_LAMBDA_EXPR): Define.
|
||||
* class.cc (determine_key_method): Use SET_CLASSTYPE_KEY_METHOD
|
||||
macro.
|
||||
* decl.cc (xref_tag): Use SET_CLASSTYPE_LAMBDA_EXPR macro.
|
||||
* lambda.cc (begin_lambda_type): Likewise.
|
||||
* module.cc (trees_in::read_class_def): Use SET_CLASSTYPE_LAMBDA_EXPR
|
||||
and SET_CLASSTYPE_KEY_METHOD macros, assert lambda is NULL if
|
||||
TYPE_POLYMORPHIC_P and otherwise assert key_method is NULL.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/120628
|
||||
* parser.cc (cp_parser_elaborated_type_specifier): Use
|
||||
cp_parser_nth_token_starts_class_definition_p with extra argument 1
|
||||
instead of cp_parser_next_token_starts_class_definition_p.
|
||||
(cp_parser_class_property_specifier_seq_opt): For final conditional
|
||||
keyword in C++98 check if the token after it isn't
|
||||
cp_parser_nth_token_starts_class_definition_p nor CPP_NAME and in
|
||||
that case break without consuming it nor warning.
|
||||
(cp_parser_class_head): Use
|
||||
cp_parser_nth_token_starts_class_definition_p with extra argument 1
|
||||
instead of cp_parser_next_token_starts_class_definition_p.
|
||||
(cp_parser_next_token_starts_class_definition_p): Renamed to ...
|
||||
(cp_parser_nth_token_starts_class_definition_p): ... this. Add N
|
||||
argument. Use cp_lexer_peek_nth_token instead of cp_lexer_peek_token.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/120569
|
||||
* parser.cc (cp_parser_class_property_specifier_seq_opt): New
|
||||
function.
|
||||
(cp_parser_class_head): Use it instead of
|
||||
cp_parser_property_specifier_seq_opt. Don't diagnose
|
||||
VIRT_SPEC_OVERRIDE here. Formatting fix.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/117785
|
||||
* constexpr.cc: Implement C++26 P3068R5 - constexpr exceptions.
|
||||
(class constexpr_global_ctx): Add caught_exceptions and
|
||||
uncaught_exceptions members.
|
||||
(constexpr_global_ctx::constexpr_global_ctx): Initialize
|
||||
uncaught_exceptions.
|
||||
(returns, breaks, continues, switches): Move earlier.
|
||||
(throws): New function.
|
||||
(exception_what_str, diagnose_std_terminate,
|
||||
diagnose_uncaught_exception): New functions.
|
||||
(enum cxa_builtin): New type.
|
||||
(cxx_cxa_builtin_fn_p, cxx_eval_cxa_builtin_fn): New functions.
|
||||
(cxx_eval_builtin_function_call): Add jump_target argument. Call
|
||||
cxx_eval_cxa_builtin_fn for __builtin_eh_ptr_adjust_ref. Adjust
|
||||
cxx_eval_constant_expression calls, if it results in jmp_target,
|
||||
set *jump_target to it and return.
|
||||
(cxx_bind_parameters_in_call): Add jump_target argument. Pass
|
||||
it through to cxx_eval_constant_expression. If it sets *jump_target,
|
||||
break.
|
||||
(fold_operand): Adjust cxx_eval_constant_expression caller.
|
||||
(cxx_eval_assert): Likewise. If it set jmp_target, return true.
|
||||
(cxx_eval_internal_function): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression. Return early if *jump_target
|
||||
after recursing on args.
|
||||
(cxx_eval_dynamic_cast_fn): Likewise. Don't set reference_p for
|
||||
C++26 with -fexceptions.
|
||||
(cxx_eval_thunk_call): Add jump_target argument. Pass it through
|
||||
to cxx_eval_constant_expression.
|
||||
(cxx_set_object_constness): Likewise. Don't set TREE_READONLY if
|
||||
throws (jump_target).
|
||||
(cxx_eval_call_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_internal_function, cxx_eval_builtin_function_call,
|
||||
cxx_eval_thunk_call, cxx_eval_dynamic_cast_fn and
|
||||
cxx_set_object_constness. Pass it through also
|
||||
cxx_eval_constant_expression on arguments, cxx_bind_parameters_in_call
|
||||
and cxx_fold_indirect_ref and for those cases return early
|
||||
if *jump_target. Call cxx_eval_cxa_builtin_fn for cxx_cxa_builtin_fn_p
|
||||
functions. For cxx_eval_constant_expression on body, pass address of
|
||||
cleared jmp_target automatic variable, if it throws propagate
|
||||
to *jump_target and make it non-cacheable. For C++26 don't diagnose
|
||||
calls to non-constexpr functions before cxx_bind_parameters_in_call
|
||||
could report some argument throwing an exception.
|
||||
(cxx_eval_unary_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression and return early
|
||||
if *jump_target after the call.
|
||||
(cxx_fold_pointer_plus_expression): Likewise.
|
||||
(cxx_eval_binary_expression): Likewise and similarly for
|
||||
cxx_fold_pointer_plus_expression call.
|
||||
(cxx_eval_conditional_expression): Pass jump_target to
|
||||
cxx_eval_constant_expression on first operand and return early
|
||||
if *jump_target after the call.
|
||||
(cxx_eval_vector_conditional_expression): Add jump_target argument.
|
||||
Pass it through to cxx_eval_constant_expression for all 3 arguments
|
||||
and return early if *jump_target after any of those calls.
|
||||
(get_array_or_vector_nelts): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression.
|
||||
(eval_and_check_array_index): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression calls and return early after
|
||||
each of them if *jump_target.
|
||||
(cxx_eval_array_reference): Likewise.
|
||||
(cxx_eval_component_reference): Likewise.
|
||||
(cxx_eval_bit_field_ref): Likewise.
|
||||
(cxx_eval_bit_cast): Likewise. Assert CHECKING_P call doesn't
|
||||
throw or return.
|
||||
(cxx_eval_logical_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression calls and return early after
|
||||
each of them if *jump_target.
|
||||
(cxx_eval_bare_aggregate): Likewise.
|
||||
(cxx_eval_vec_init_1): Add jump_target argument. Pass it through
|
||||
to cxx_eval_bare_aggregate and recursive call. Pass it through
|
||||
to get_array_or_vector_nelts and cxx_eval_constant_expression
|
||||
and return early after it if *jump_target.
|
||||
(cxx_eval_vec_init): Add jump_target argument. Pass it through
|
||||
to cxx_eval_constant_expression and cxx_eval_vec_init_1.
|
||||
(cxx_union_active_member): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression and return early after it
|
||||
if *jump_target.
|
||||
(cxx_fold_indirect_ref_1): Add jump_target argument. Pass it
|
||||
through to cxx_union_active_member and recursive calls.
|
||||
(cxx_eval_indirect_ref): Add jump_target argument. Pass it through
|
||||
to cxx_fold_indirect_ref_1 calls and to recursive call, in which
|
||||
case return early after it if *jump_target.
|
||||
(cxx_fold_indirect_ref): Add jump_target argument. Pass it through
|
||||
to cxx_fold_indirect_ref and cxx_eval_constant_expression calls and
|
||||
return early after those if *jump_target.
|
||||
(cxx_eval_trinary_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression calls and return early after
|
||||
those if *jump_target.
|
||||
(cxx_eval_store_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression and eval_and_check_array_index
|
||||
calls and return early after those if *jump_target.
|
||||
(cxx_eval_increment_expression): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression calls and return early after
|
||||
those if *jump_target.
|
||||
(label_matches): Handle VAR_DECL case.
|
||||
(cxx_eval_statement_list): Remove local_target variable and
|
||||
!jump_target handling. Handle throws (jump_target) like returns or
|
||||
breaks.
|
||||
(cxx_eval_loop_expr): Remove local_target variable and !jump_target
|
||||
handling. Pass it through to cxx_eval_constant_expression. Handle
|
||||
throws (jump_target) like returns.
|
||||
(cxx_eval_switch_expr): Pass jump_target through to
|
||||
cxx_eval_constant_expression on cond, return early after it
|
||||
if *jump_target.
|
||||
(build_new_constexpr_heap_type): Add jump_target argument. Pass it
|
||||
through to cxx_eval_constant_expression calls, return early after
|
||||
those if *jump_target.
|
||||
(merge_jump_target): New function.
|
||||
(cxx_eval_constant_expression): Make jump_target argument no longer
|
||||
defaulted, don't test jump_target for NULL. Pass jump_target
|
||||
through to recursive calls, cxx_eval_call_expression,
|
||||
cxx_eval_store_expression, cxx_eval_indirect_ref,
|
||||
cxx_eval_unary_expression, cxx_eval_binary_expression,
|
||||
cxx_eval_logical_expression, cxx_eval_array_reference,
|
||||
cxx_eval_component_reference, cxx_eval_bit_field_ref,
|
||||
cxx_eval_vector_conditional_expression, cxx_eval_bare_aggregate,
|
||||
cxx_eval_vec_init, cxx_eval_trinary_expression, cxx_fold_indirect_ref,
|
||||
build_new_constexpr_heap_type, cxx_eval_increment_expression,
|
||||
cxx_eval_bit_cast and return earlyu after some of those
|
||||
if *jump_target as needed.
|
||||
(cxx_eval_constant_expression) <case TARGET_EXPR>: For C++26 push
|
||||
also CLEANUP_EH_ONLY cleanups, with NULL_TREE marker after them.
|
||||
(cxx_eval_constant_expression) <case RETURN_EXPR>: Don't
|
||||
override *jump_target if throws (jump_target).
|
||||
(cxx_eval_constant_expression) <case TRY_CATCH_EXPR, case TRY_BLOCK,
|
||||
case MUST_NOT_THROW_EXPR, case TRY_FINALLY_EXPR, case CLEANUP_STMT>:
|
||||
Handle C++26 constant expressions.
|
||||
(cxx_eval_constant_expression) <case CLEANUP_POINT_EXPR>: For C++26
|
||||
with throws (jump_target) evaluate the CLEANUP_EH_ONLY cleanups as
|
||||
well, and if not throws (jump_target) skip those. Set *jump_target
|
||||
if some of the cleanups threw.
|
||||
(cxx_eval_constant_expression) <case THROW_EXPR>: Recurse on operand
|
||||
for C++26.
|
||||
(cxx_eval_outermost_constant_expr): Diagnose uncaught exceptions both
|
||||
from main expression and cleanups, diagnose also
|
||||
break/continue/returns from the main expression. Handle
|
||||
CLEANUP_EH_ONLY cleanup markers. Don't diagnose mutable poison stuff
|
||||
if non_constant_p. Use different diagnostics for non-deleted heap
|
||||
allocations if they were allocated by __cxa_allocate_exception.
|
||||
(callee_might_throw): New function.
|
||||
(struct check_for_return_continue_data): Add could_throw field.
|
||||
(check_for_return_continue): Handle AGGR_INIT_EXPR and CALL_EXPR and
|
||||
set d->could_throw if they could throw.
|
||||
(potential_constant_expression_1): For CALL_EXPR allow
|
||||
cxx_dynamic_cast_fn_p calls. For C++26 set *jump_target to void_node
|
||||
for calls that could throw. For C++26 if call to non-constexpr call
|
||||
is seen, try to evaluate arguments first and if they could throw,
|
||||
don't diagnose call to non-constexpr function nor return false.
|
||||
Adjust check_for_return_continue_data initializers and
|
||||
set *jump_target to void_node if data.could_throw_p. For C++26
|
||||
recurse on THROW_EXPR argument. Add comment explaining TRY_BLOCK
|
||||
handling with C++26 exceptions. Handle throws like returns in some
|
||||
cases.
|
||||
* cp-tree.h (MUST_NOT_THROW_NOEXCEPT_P, MUST_NOT_THROW_THROW_P,
|
||||
MUST_NOT_THROW_CATCH_P, DECL_EXCEPTION_REFCOUNT): Define.
|
||||
(DECL_LOCAL_DECL_P): Fix comment typo, VARIABLE_DECL -> VAR_DECL.
|
||||
(enum cp_built_in_function): Add CP_BUILT_IN_EH_PTR_ADJUST_REF,
|
||||
(handler_match_for_exception_type): Declare.
|
||||
* call.cc (handler_match_for_exception_type): New function.
|
||||
* except.cc (initialize_handler_parm): Set MUST_NOT_THROW_CATCH_P
|
||||
on newly created MUST_NOT_THROW_EXPR.
|
||||
(begin_eh_spec_block): Set MUST_NOT_THROW_NOEXCEPT_P.
|
||||
(wrap_cleanups_r): Set MUST_NOT_THROW_THROW_P.
|
||||
(build_throw): Add another TARGET_EXPR whose scope spans
|
||||
until after the __cxa_throw call and copy pointer value from ptr
|
||||
to it and use it in __cxa_throw argument.
|
||||
* tree.cc (builtin_valid_in_constant_expr_p): Handle
|
||||
CP_BUILT_IN_EH_PTR_ADJUST_REF.
|
||||
* decl.cc (cxx_init_decl_processing): Initialize
|
||||
__builtin_eh_ptr_adjust_ref FE builtin.
|
||||
* pt.cc (tsubst_stmt) <case MUST_NOT_THROW_EXPR>: Copy the
|
||||
MUST_NOT_THROW_NOEXCEPT_P, MUST_NOT_THROW_THROW_P and
|
||||
MUST_NOT_THROW_CATCH_P flags.
|
||||
* cp-gimplify.cc (cp_gimplify_expr) <case CALL_EXPR>: Error on
|
||||
non-folded CP_BUILT_IN_EH_PTR_ADJUST_REF calls.
|
||||
|
||||
2025-07-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/121012
|
||||
|
||||
@@ -1,3 +1,383 @@
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/120628
|
||||
* g++.dg/cpp0x/final1.C: New test.
|
||||
* g++.dg/cpp0x/final2.C: New test.
|
||||
* g++.dg/cpp0x/override6.C: New test.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/120569
|
||||
* g++.dg/cpp0x/override2.C: Expect different diagnostics with
|
||||
override or duplicate final.
|
||||
* g++.dg/cpp0x/override5.C: New test.
|
||||
* g++.dg/cpp0x/duplicate1.C: Expect different diagnostics with
|
||||
duplicate final.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/117785
|
||||
* g++.dg/cpp0x/constexpr-ellipsis2.C: Expect different diagnostics for
|
||||
C++26.
|
||||
* g++.dg/cpp0x/constexpr-throw.C: Likewise.
|
||||
* g++.dg/cpp1y/constexpr-84192.C: Expect different diagnostics.
|
||||
* g++.dg/cpp1y/constexpr-throw.C: Expect different diagnostics for
|
||||
C++26.
|
||||
* g++.dg/cpp1z/constexpr-asm-5.C: Likewise.
|
||||
* g++.dg/cpp26/constexpr-eh1.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh2.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh3.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh4.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh5.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh6.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh7.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh8.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh9.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh10.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh11.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh12.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh13.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh14.C: New test.
|
||||
* g++.dg/cpp26/constexpr-eh15.C: New test.
|
||||
* g++.dg/cpp26/feat-cxx26.C: Change formatting in __cpp_pack_indexing
|
||||
and __cpp_pp_embed test. Add __cpp_constexpr_exceptions test.
|
||||
* g++.dg/cpp26/static_assert1.C: Expect different diagnostics for
|
||||
C++26.
|
||||
* g++.dg/cpp2a/consteval34.C: Likewise.
|
||||
* g++.dg/cpp2a/consteval-memfn1.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic4.C: For C++26 add std::exception and
|
||||
std::bad_cast definitions and expect different diagnostics.
|
||||
* g++.dg/cpp2a/constexpr-dynamic6.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic7.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic8.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic9.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic11.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic14.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-dynamic18.C: Likewise.
|
||||
* g++.dg/cpp2a/constexpr-new27.C: New test.
|
||||
* g++.dg/cpp2a/constexpr-typeid5.C: New test.
|
||||
|
||||
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
|
||||
|
||||
PR middle-end/121000
|
||||
* gcc.dg/flex-array-counted-by-pr121000.c: New test.
|
||||
|
||||
2025-07-10 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* gfortran.dg/asan/array_constructor_1.f90: Allocate array
|
||||
before using it.
|
||||
|
||||
2025-07-10 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* gcc.dg/tree-prof/afdo-inline.c: Add user symbol names.
|
||||
|
||||
2025-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* gcc.target/aarch64/sve/pfalse-binary.c: Add -funwind-tables.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_int_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_opt_single_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_rotate.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_uint64_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binary_uint_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-binaryxn.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-clast.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-compare_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-compare_wide_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-count_pred.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-fold_left.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_ext.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_ext_gather_index.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_ext_gather_offset.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_gather_sv.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_gather_vs.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-load_replicate.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-prefetch.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-prefetch_gather_index.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-prefetch_gather_offset.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-ptest.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-rdffr.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-reduction.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-reduction_wide.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-shift_right_imm.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-store.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-store_scatter_index.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-store_scatter_offset.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-storexn.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-ternary_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-ternary_rotate.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary_convert_narrowt.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary_convertxn.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary_pred.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unary_to_uint.c: Likewise.
|
||||
* gcc.target/aarch64/sve/pfalse-unaryxn.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_int_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_int_opt_single_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_opt_single_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_to_uint.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_uint_opt_n.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-binary_wide.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-compare.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-load_ext_gather_index_restricted.c,
|
||||
* gcc.target/aarch64/sve2/pfalse-load_ext_gather_offset_restricted.c,
|
||||
* gcc.target/aarch64/sve2/pfalse-load_gather_sv_restricted.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-load_gather_vs.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-shift_left_imm_to_uint.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-shift_right_imm.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-store_scatter_index_restricted.c,
|
||||
* gcc.target/aarch64/sve2/pfalse-store_scatter_offset_restricted.c,
|
||||
* gcc.target/aarch64/sve2/pfalse-unary.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-unary_convert.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-unary_convert_narrowt.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/pfalse-unary_to_int.c: Likewise.
|
||||
|
||||
2025-07-10 Kyrylo Tkachov <ktkachov@nvidia.com>
|
||||
|
||||
PR target/120999
|
||||
* gcc.target/aarch64/sve2/pr120999.c: New test.
|
||||
|
||||
2025-07-10 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_aarch64_sve2p1_hw):
|
||||
New proc.
|
||||
* gcc.target/aarch64/sve2/dupq_1.c: Extend to big-endian. Add
|
||||
noipa attributes.
|
||||
* gcc.target/aarch64/sve2/extq_1.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/uzpq_1.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/zipq_1.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/dupq_1_run.c: New test.
|
||||
* gcc.target/aarch64/sve2/extq_1_run.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/uzpq_1_run.c: Likewise.
|
||||
* gcc.target/aarch64/sve2/zipq_1_run.c: Likewise.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gfortran.dg/g77/980310-3.f: Comment spelling fix: bellow -> below.
|
||||
* jit.dg/test-debuginfo.c: Likewise.
|
||||
|
||||
2025-07-10 Pan Li <pan2.li@intel.com>
|
||||
|
||||
* gcc.target/riscv/sat/sat_s_add-run-1-i16.c: Take rv32 || rv64
|
||||
instead of riscv_v for scalar run test.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-1-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-1-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-1-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-2-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-2-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-2-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-2-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-3-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-3-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-3-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-3-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-4-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-4-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-4-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_add-run-4-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-1-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-1-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-1-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-1-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-2-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-2-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-2-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-2-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-3-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-3-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-3-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-3-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-4-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-4-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-4-i64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_sub-run-4-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-1-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-1-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-1-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-1-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-2-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-2-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-2-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-2-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-3-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-3-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-3-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-3-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-4-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-4-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-4-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-4-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-5-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-5-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-5-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-5-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-6-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-6-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-6-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-6-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u16-from-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u32-from-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add-run-7-u8-from-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-1-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-1-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-1-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-1-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-2-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-2-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-2-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-2-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-3-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-3-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-3-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-3-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-4-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-4-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-4-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_add_imm-run-4-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-1-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-1-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-1-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-1-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-10-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-10-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-10-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-10-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-11-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-11-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-11-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-11-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-12-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-12-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-12-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-12-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-2-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-2-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-2-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-2-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-3-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-3-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-3-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-3-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-4-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-4-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-4-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-4-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-5-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-5-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-5-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-5-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-6-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-6-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-6-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-6-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-7-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-7-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-7-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-7-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-8-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-8-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-8-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-8-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-9-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-9-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-9-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub-run-9-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-1-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-1-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-1-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-1-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-2-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-2-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-2-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-2-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-3-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-3-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-3-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-3-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-4-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-4-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-4-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_sub_imm-run-4-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-1-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-1-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-1-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-1-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-2-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-2-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-2-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-2-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-3-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-3-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-3-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-3-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-4-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-4-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-4-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-4-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-5-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-5-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-5-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-5-u8.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-6-u16.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-6-u32.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-6-u64.c: Ditto.
|
||||
* gcc.target/riscv/sat/sat_u_trunc-run-6-u8.c: Ditto.
|
||||
|
||||
2025-07-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/120243
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
2025-07-10 Jan Dubiec <jdx@o2.pl>
|
||||
|
||||
PR target/116363
|
||||
* libgcc2.c (__fixunssfDI): Fix SFtype to UDWtype conversion for targets
|
||||
without LIBGCC2_HAS_DF_MODE defined
|
||||
|
||||
2025-05-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/t-softfp (softfp_bid_list): Don't guard with
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
2025-07-10 James K. Lowden <jklowden@cobolworx.com>
|
||||
|
||||
* common-defs.h (cdf_enabled_exceptions): Use new CDF state.
|
||||
|
||||
2025-07-09 Robert Dubner <rdubner@symas.com>
|
||||
James K. Lowden <jklowden@cobolworx.com>
|
||||
|
||||
|
||||
@@ -1,3 +1,69 @@
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/117785
|
||||
* include/bits/version.def (constexpr_exceptions): New.
|
||||
* include/bits/version.h: Regenerate.
|
||||
* libsupc++/exception (std::bad_exception::bad_exception): Add
|
||||
_GLIBCXX26_CONSTEXPR.
|
||||
(std::bad_exception::~bad_exception, std::bad_exception::what): For
|
||||
C++26 add constexpr and define inline.
|
||||
* libsupc++/exception.h (std::exception::exception,
|
||||
std::exception::operator=): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::exception::~exception, std::exception::what): For C++26 add
|
||||
constexpr and define inline.
|
||||
* libsupc++/exception_ptr.h (std::make_exception_ptr): Add
|
||||
_GLIBCXX26_CONSTEXPR. For if consteval use just throw with
|
||||
current_exception() in catch.
|
||||
(std::exception_ptr::exception_ptr(void*)): For C++26 add constexpr
|
||||
and define inline.
|
||||
(std::exception_ptr::exception_ptr()): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::exception_ptr::exception_ptr(const exception_ptr&)): Likewise.
|
||||
Use __builtin_eh_ptr_adjust_ref if consteval and compiler has it
|
||||
instead of _M_addref.
|
||||
(std::exception_ptr::exception_ptr(nullptr_t)): Add
|
||||
_GLIBCXX26_CONSTEXPR.
|
||||
(std::exception_ptr::exception_ptr(exception_ptr&&)): Likewise.
|
||||
(std::exception_ptr::operator=): Likewise.
|
||||
(std::exception_ptr::~exception_ptr): Likewise. Use
|
||||
__builtin_eh_ptr_adjust_ref if consteval and compiler has it
|
||||
instead of _M_release.
|
||||
(std::exception_ptr::swap): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::exception_ptr::operator bool): Likewise.
|
||||
(std::exception_ptr::operator==): Likewise.
|
||||
* libsupc++/nested_exception.h
|
||||
(std::nested_exception::nested_exception): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::nested_exception::operator=): Likewise.
|
||||
(std::nested_exception::~nested_exception): For C++26 add constexpr
|
||||
and define inline.
|
||||
(std::nested_exception::rethrow_if_nested): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::nested_exception::nested_ptr): Likewise.
|
||||
(std::_Nested_exception::_Nested_exception): Likewise.
|
||||
(std::throw_with_nested, std::rethrow_if_nested): Likewise.
|
||||
* libsupc++/new (std::bad_alloc::bad_alloc): Likewise.
|
||||
(std::bad_alloc::operator=): Likewise.
|
||||
(std::bad_alloc::~bad_alloc): For C++26 add constexpr and define
|
||||
inline.
|
||||
(std::bad_alloc::what): Likewise.
|
||||
(std::bad_array_new_length::bad_array_new_length): Add
|
||||
_GLIBCXX26_CONSTEXPR.
|
||||
(std::bad_array_new_length::~bad_array_new_length): For C++26 add
|
||||
constexpr and define inline.
|
||||
(std::bad_array_new_length::what): Likewise.
|
||||
* libsupc++/typeinfo (std::bad_cast::bad_cast): Add
|
||||
_GLIBCXX26_CONSTEXPR.
|
||||
(std::bad_cast::~bad_cast): For C++26 add constexpr and define inline.
|
||||
(std::bad_cast::what): Likewise.
|
||||
(std::bad_typeid::bad_typeid): Add _GLIBCXX26_CONSTEXPR.
|
||||
(std::bad_typeid::~bad_typeid): For C++26 add constexpr and define
|
||||
inline.
|
||||
(std::bad_typeid::what): Likewise.
|
||||
|
||||
2025-07-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* testsuite/22_locale/codecvt/codecvt_unicode.h
|
||||
(ucs2_to_utf8_out_error): Comment spelling fix: bellow -> below.
|
||||
(utf16_to_ucs2_in_error): Likewise.
|
||||
|
||||
2025-07-09 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_uninitialized.h (__uninitialized_default):
|
||||
|
||||
Reference in New Issue
Block a user