From: GCC Administrator Date: Sat, 21 Oct 2023 00:17:36 +0000 (+0000) Subject: Daily bump. X-Git-Tag: basepoints/gcc-15~5328 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f684dd259a1a8ebd872fab5ce1084887034b0ae;p=thirdparty%2Fgcc.git Daily bump. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a87e402dd8d..39e2be3f8bcb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,407 @@ +2023-10-20 Roger Sayle + Uros Bizjak + + PR middle-end/101955 + PR tree-optimization/106245 + * config/i386/i386.md (*extv_1_0): New define_insn_and_split. + +2023-10-20 David Edelsohn + + * gimple-harden-control-flow.cc: Include memmodel.h. + +2023-10-20 David Edelsohn + + * gimple-harden-control-flow.cc: Include tm_p.h. + +2023-10-20 Andre Vieira + + PR tree-optimization/111882 + * tree-if-conv.cc (get_bitfield_rep): Return NULL_TREE for bitfields + with non-constant offsets. + +2023-10-20 Tamar Christina + + PR tree-optimization/111866 + * tree-vect-loop-manip.cc (vect_do_peeling): Pass null as vinfo to + vect_set_loop_condition during prolog peeling. + +2023-10-20 Richard Biener + + PR tree-optimization/111445 + * tree-scalar-evolution.cc (simple_iv_with_niters): + Add missing check for a sign-conversion. + +2023-10-20 Richard Biener + + PR tree-optimization/110243 + PR tree-optimization/111336 + * tree-ssa-loop-ivopts.cc (strip_offset_1): Rewrite + operations with undefined behavior on overflow to + unsigned arithmetic. + +2023-10-20 Richard Biener + + PR tree-optimization/111891 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fix + assert. + +2023-10-20 Andrew Stubbs + + * config.gcc: Allow --with-arch=gfx1030. + * config/gcn/gcn-hsa.h (NO_XNACK): gfx1030 does not support xnack. + (ASM_SPEC): gfx1030 needs -mattr=+wavefrontsize64 set. + * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX1030. + (TARGET_GFX1030): New. + (TARGET_RDNA2): New. + * config/gcn/gcn-valu.md (@dpp_move): Disable for RDNA2. + (addc3): Add RDNA2 syntax variant. + (subc3): Likewise. + (2_exec): Add RDNA2 alternatives. + (vec_cmpdi): Likewise. + (vec_cmpdi): Likewise. + (vec_cmpdi_exec): Likewise. + (vec_cmpdi_exec): Likewise. + (vec_cmpdi_dup): Likewise. + (vec_cmpdi_dup_exec): Likewise. + (reduc__scal_): Disable for RDNA2. + (*_dpp_shr_): Likewise. + (*plus_carry_dpp_shr_): Likewise. + (*plus_carry_in_dpp_shr_): Likewise. + * config/gcn/gcn.cc (gcn_option_override): Recognise gfx1030. + (gcn_global_address_p): RDNA2 only allows smaller offsets. + (gcn_addr_space_legitimate_address_p): Likewise. + (gcn_omp_device_kind_arch_isa): Recognise gfx1030. + (gcn_expand_epilogue): Use VGPRs instead of SGPRs. + (output_file_start): Configure gfx1030. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __RDNA2__; + (ASSEMBLER_DIALECT): New. + * config/gcn/gcn.md (rdna): New define_attr. + (enabled): Use "rdna" attribute. + (gcn_return): Remove s_dcache_wb. + (addcsi3_scalar): Add RDNA2 syntax variant. + (addcsi3_scalar_zero): Likewise. + (addptrdi3): Likewise. + (mulsi3): v_mul_lo_i32 should be v_mul_lo_u32 on all ISA. + (*memory_barrier): Add RDNA2 syntax variant. + (atomic_load): Add RDNA2 cache control variants, and disable + scalar atomics for RDNA2. + (atomic_store): Likewise. + (atomic_exchange): Likewise. + * config/gcn/gcn.opt (gpu_type): Add gfx1030. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. + (main): Recognise -march=gfx1030. + * config/gcn/t-omp-device: Add gfx1030 isa. + +2023-10-20 Richard Biener + + PR tree-optimization/111000 + * stor-layout.h (element_precision): Move .. + * tree.h (element_precision): .. here. + * tree-ssa-loop-im.cc (movement_possibility_1): Restrict + motion of shifts and rotates. + +2023-10-20 Alexandre Oliva + + * tree-core.h (ECF_XTHROW): New macro. + * tree.cc (set_call_expr): Add expected_throw attribute when + ECF_XTHROW is set. + (build_common_builtin_node): Add ECF_XTHROW to + __cxa_end_cleanup and _Unwind_Resume or _Unwind_SjLj_Resume. + * calls.cc (flags_from_decl_or_type): Check for expected_throw + attribute to set ECF_XTHROW. + * gimple.cc (gimple_build_call_from_tree): Propagate + ECF_XTHROW from decl flags to gimple call... + (gimple_call_flags): ... and back. + * gimple.h (GF_CALL_XTHROW): New gf_mask flag. + (gimple_call_set_expected_throw): New. + (gimple_call_expected_throw_p): New. + * Makefile.in (OBJS): Add gimple-harden-control-flow.o. + * builtins.def (BUILT_IN___HARDCFR_CHECK): New. + * common.opt (fharden-control-flow-redundancy): New. + (-fhardcfr-check-returning-calls): New. + (-fhardcfr-check-exceptions): New. + (-fhardcfr-check-noreturn-calls=*): New. + (Enum hardcfr_check_noreturn_calls): New. + (fhardcfr-skip-leaf): New. + * doc/invoke.texi: Document them. + (hardcfr-max-blocks, hardcfr-max-inline-blocks): New params. + * flag-types.h (enum hardcfr_noret): New. + * gimple-harden-control-flow.cc: New. + * params.opt (-param=hardcfr-max-blocks=): New. + (-param=hradcfr-max-inline-blocks=): New. + * passes.def (pass_harden_control_flow_redundancy): Add. + * tree-pass.h (make_pass_harden_control_flow_redundancy): + Declare. + * doc/extend.texi: Document expected_throw attribute. + +2023-10-20 Alex Coplan + + * rtl-ssa/changes.cc (function_info::change_insns): Ensure we call + ::remove_insn on deleted insns. + +2023-10-20 Richard Biener + + * doc/generic.texi ({L,R}ROTATE_EXPR): Document. + +2023-10-20 Oleg Endo + + PR target/101177 + * config/sh/sh.md (unnamed split pattern): Fix comparison of + find_regno_note result. + +2023-10-20 Richard Biener + + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Rewrite + both STMT_VINFO_GATHER_SCATTER_P and VMAT_GATHER_SCATTER + stmt refs. + +2023-10-20 Richard Biener + + * tree-vect-slp.cc (off_map, off_op0_map, off_arg2_map, + off_arg3_arg2_map): New. + (vect_get_operand_map): Get flag whether the stmt was + recognized as gather or scatter and use the above + accordingly. + (vect_get_and_check_slp_defs): Adjust. + (vect_build_slp_tree_2): Likewise. + +2023-10-20 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): Rename variables. + (pre_vsetvl::pre_global_vsetvl_info): Ditto. + (pre_vsetvl::emit_vsetvl): Ditto. + +2023-10-20 Tamar Christina + Andre Vieira + + * tree-if-conv.cc (if_convertible_loop_p_1): Move check from here ... + (get_loop_body_if_conv_order): ... to here. + (if_convertible_loop_p): Remove single_exit check. + (tree_if_conversion): Move single_exit check to if-conversion part and + support multiple exits. + +2023-10-20 Tamar Christina + Andre Vieira + + * tree-vect-patterns.cc (vect_init_pattern_stmt): Copy STMT_VINFO_TYPE + from original statement. + (vect_recog_bitfield_ref_pattern): Support bitfields in gcond. + +2023-10-20 Juzhe-Zhong + + PR target/111848 + * config/riscv/riscv-selftests.cc (run_const_vector_selftests): Adapt selftest. + * config/riscv/riscv-v.cc (expand_const_vector): Change it into vec_duplicate splitter. + +2023-10-20 Lehua Ding + + PR target/111037 + PR target/111234 + PR target/111725 + * config/riscv/riscv-vsetvl.cc (bitmap_union_of_preds_with_entry): New. + (debug): Removed. + (compute_reaching_defintion): New. + (enum vsetvl_type): Moved. + (vlmax_avl_p): Moved. + (enum emit_type): Moved. + (vlmul_to_str): Moved. + (vlmax_avl_insn_p): Removed. + (policy_to_str): Moved. + (loop_basic_block_p): Removed. + (valid_sew_p): Removed. + (vsetvl_insn_p): Moved. + (vsetvl_vtype_change_only_p): Removed. + (after_or_same_p): Removed. + (before_p): Removed. + (anticipatable_occurrence_p): Removed. + (available_occurrence_p): Removed. + (insn_should_be_added_p): Removed. + (get_all_sets): Moved. + (get_same_bb_set): Moved. + (gen_vsetvl_pat): Removed. + (calculate_vlmul): Moved. + (get_max_int_sew): New. + (emit_vsetvl_insn): Removed. + (get_max_float_sew): New. + (eliminate_insn): Removed. + (insert_vsetvl): Removed. + (count_regno_occurrences): Moved. + (get_vl_vtype_info): Removed. + (enum def_type): Moved. + (validate_change_or_fail): Moved. + (change_insn): Removed. + (get_all_real_uses): Moved. + (get_forward_read_vl_insn): Removed. + (get_backward_fault_first_load_insn): Removed. + (change_vsetvl_insn): Removed. + (avl_source_has_vsetvl_p): Removed. + (source_equal_p): Moved. + (calculate_sew): Removed. + (same_equiv_note_p): Moved. + (get_expr_id): New. + (incompatible_avl_p): Removed. + (get_regno): New. + (different_sew_p): Removed. + (get_bb_index): New. + (different_lmul_p): Removed. + (has_no_uses): Moved. + (different_ratio_p): Removed. + (different_tail_policy_p): Removed. + (different_mask_policy_p): Removed. + (possible_zero_avl_p): Removed. + (enum demand_flags): New. + (second_ratio_invalid_for_first_sew_p): Removed. + (second_ratio_invalid_for_first_lmul_p): Removed. + (enum class): New. + (float_insn_valid_sew_p): Removed. + (second_sew_less_than_first_sew_p): Removed. + (first_sew_less_than_second_sew_p): Removed. + (class vsetvl_info): New. + (compare_lmul): Removed. + (second_lmul_less_than_first_lmul_p): Removed. + (second_ratio_less_than_first_ratio_p): Removed. + (DEF_INCOMPATIBLE_COND): Removed. + (greatest_sew): Removed. + (first_sew): Removed. + (second_sew): Removed. + (first_vlmul): Removed. + (second_vlmul): Removed. + (first_ratio): Removed. + (second_ratio): Removed. + (vlmul_for_first_sew_second_ratio): Removed. + (vlmul_for_greatest_sew_second_ratio): Removed. + (ratio_for_second_sew_first_vlmul): Removed. + (class vsetvl_block_info): New. + (DEF_SEW_LMUL_FUSE_RULE): New. + (always_unavailable): Removed. + (avl_unavailable_p): Removed. + (class demand_system): New. + (sew_unavailable_p): Removed. + (lmul_unavailable_p): Removed. + (ge_sew_unavailable_p): Removed. + (ge_sew_lmul_unavailable_p): Removed. + (ge_sew_ratio_unavailable_p): Removed. + (DEF_UNAVAILABLE_COND): Removed. + (same_sew_lmul_demand_p): Removed. + (propagate_avl_across_demands_p): Removed. + (reg_available_p): Removed. + (support_relaxed_compatible_p): Removed. + (demands_can_be_fused_p): Removed. + (earliest_pred_can_be_fused_p): Removed. + (vsetvl_dominated_by_p): Removed. + (avl_info::avl_info): Removed. + (avl_info::single_source_equal_p): Removed. + (avl_info::multiple_source_equal_p): Removed. + (DEF_SEW_LMUL_RULE): New. + (avl_info::operator=): Removed. + (avl_info::operator==): Removed. + (DEF_POLICY_RULE): New. + (avl_info::operator!=): Removed. + (avl_info::has_non_zero_avl): Removed. + (vl_vtype_info::vl_vtype_info): Removed. + (vl_vtype_info::operator==): Removed. + (DEF_AVL_RULE): New. + (vl_vtype_info::operator!=): Removed. + (vl_vtype_info::same_avl_p): Removed. + (vl_vtype_info::same_vtype_p): Removed. + (vl_vtype_info::same_vlmax_p): Removed. + (vector_insn_info::operator>=): Removed. + (vector_insn_info::operator==): Removed. + (class pre_vsetvl): New. + (vector_insn_info::parse_insn): Removed. + (vector_insn_info::compatible_p): Removed. + (vector_insn_info::skip_avl_compatible_p): Removed. + (vector_insn_info::compatible_avl_p): Removed. + (vector_insn_info::compatible_vtype_p): Removed. + (vector_insn_info::available_p): Removed. + (vector_insn_info::fuse_avl): Removed. + (vector_insn_info::fuse_sew_lmul): Removed. + (vector_insn_info::fuse_tail_policy): Removed. + (vector_insn_info::fuse_mask_policy): Removed. + (vector_insn_info::local_merge): Removed. + (vector_insn_info::global_merge): Removed. + (vector_insn_info::get_avl_or_vl_reg): Removed. + (vector_insn_info::update_fault_first_load_avl): Removed. + (vector_insn_info::dump): Removed. + (vector_infos_manager::vector_infos_manager): Removed. + (vector_infos_manager::create_expr): Removed. + (vector_infos_manager::get_expr_id): Removed. + (vector_infos_manager::all_same_ratio_p): Removed. + (vector_infos_manager::all_avail_in_compatible_p): Removed. + (vector_infos_manager::all_same_avl_p): Removed. + (vector_infos_manager::expr_set_num): Removed. + (vector_infos_manager::release): Removed. + (vector_infos_manager::create_bitmap_vectors): Removed. + (vector_infos_manager::free_bitmap_vectors): Removed. + (vector_infos_manager::dump): Removed. + (class pass_vsetvl): Adjust. + (pass_vsetvl::get_vector_info): Removed. + (pass_vsetvl::get_block_info): Removed. + (pass_vsetvl::update_vector_info): Removed. + (pass_vsetvl::update_block_info): Removed. + (pre_vsetvl::compute_avl_def_data): New. + (pass_vsetvl::simple_vsetvl): Removed. + (pass_vsetvl::compute_local_backward_infos): Removed. + (pass_vsetvl::need_vsetvl): Removed. + (pass_vsetvl::transfer_before): Removed. + (pass_vsetvl::transfer_after): Removed. + (pre_vsetvl::compute_vsetvl_def_data): New. + (pass_vsetvl::emit_local_forward_vsetvls): Removed. + (pass_vsetvl::prune_expressions): Removed. + (pass_vsetvl::compute_local_properties): Removed. + (pre_vsetvl::compute_lcm_local_properties): New. + (pass_vsetvl::earliest_fusion): Removed. + (pre_vsetvl::fuse_local_vsetvl_info): New. + (pass_vsetvl::vsetvl_fusion): Removed. + (pass_vsetvl::can_refine_vsetvl_p): Removed. + (pre_vsetvl::earliest_fuse_vsetvl_info): New. + (pass_vsetvl::refine_vsetvls): Removed. + (pass_vsetvl::cleanup_vsetvls): Removed. + (pass_vsetvl::commit_vsetvls): Removed. + (pass_vsetvl::pre_vsetvl): Removed. + (pass_vsetvl::get_vsetvl_at_end): Removed. + (local_avl_compatible_p): Removed. + (pass_vsetvl::local_eliminate_vsetvl_insn): Removed. + (pre_vsetvl::pre_global_vsetvl_info): New. + (get_first_vsetvl_before_rvv_insns): Removed. + (pass_vsetvl::global_eliminate_vsetvl_insn): Removed. + (pre_vsetvl::emit_vsetvl): New. + (pass_vsetvl::ssa_post_optimization): Removed. + (pre_vsetvl::cleaup): New. + (pre_vsetvl::remove_avl_operand): New. + (pass_vsetvl::df_post_optimization): Removed. + (pre_vsetvl::remove_unused_dest_operand): New. + (pass_vsetvl::init): Removed. + (pass_vsetvl::done): Removed. + (pass_vsetvl::compute_probabilities): Removed. + (pass_vsetvl::lazy_vsetvl): Adjust. + (pass_vsetvl::execute): Adjust. + * config/riscv/riscv-vsetvl.def (DEF_INCOMPATIBLE_COND): Removed. + (DEF_SEW_LMUL_RULE): New. + (DEF_SEW_LMUL_FUSE_RULE): Removed. + (DEF_POLICY_RULE): New. + (DEF_UNAVAILABLE_COND): Removed + (DEF_AVL_RULE): New demand type. + (sew_lmul): New demand type. + (ratio_only): New demand type. + (sew_only): New demand type. + (ge_sew): New demand type. + (ratio_and_ge_sew): New demand type. + (tail_mask_policy): New demand type. + (tail_policy_only): New demand type. + (mask_policy_only): New demand type. + (ignore_policy): New demand type. + (avl): New demand type. + (non_zero_avl): New demand type. + (ignore_avl): New demand type. + * config/riscv/t-riscv: Removed riscv-vsetvl.h + * config/riscv/riscv-vsetvl.h: Removed. + +2023-10-20 Alexandre Oliva + + * tree-eh.cc (make_eh_edges): Return the new edge. + * tree-eh.h (make_eh_edges): Likewise. + 2023-10-19 Marek Polacek * doc/contrib.texi: Add entry for Patrick Palka. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 5402eeba5fc7..dc31a4d01d13 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20231020 +20231021 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 8e635ab43837..5b5a9ec202d7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2023-10-20 Alexandre Oliva + + * gcc-interface/trans.cc (gigi): Mark __gnat_reraise_zcx with + ECF_XTHROW. + (build_raise_check): Likewise for all rcheck subprograms. + 2023-10-19 Yannick Moy * aspects.ads: Add aspect Side_Effects. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index bca51dfc034d..25f583cd92f5 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,19 @@ +2023-10-20 Marek Polacek + + PR c/111884 + * c-common.cc (c_common_get_alias_set): Return -1 for char8_t only + in C++. + +2023-10-20 Patrick Palka + + * c-warn.cc (check_address_or_pointer_of_packed_member): Handle + type-dependent callee of CALL_EXPR. + +2023-10-20 Alexandre Oliva + + * c-attribs.cc (handle_expected_throw_attribute): New. + (c_common_attribute_table): Add expected_throw. + 2023-10-19 Lewis Hyatt PR c++/89038 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index a779fa4139b5..2fb67af4b48b 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,18 @@ +2023-10-20 Florian Weimer + + PR c/109827 + PR other/44209 + * c-typeck.cc (build_conditional_expr): Use OPT_Wint_conversion + for pointer/integer mismatch warnings. + +2023-10-20 Florian Weimer + + PR c/109826 + PR other/44209 + * c-typeck.cc (build_conditional_expr): Use + OPT_Wincompatible_pointer_types for pointer mismatches. + Emit location information for the operand. + 2023-10-19 Andrew Pinski PR c/100532 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9de839dc95c6..95755e66a960 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,225 @@ +2023-10-20 Jason Merrill + + * call.cc (implicit_conversion_1): Rename... + (implicit_conversion): ...to this. Remove the old wrapper. + +2023-10-20 Jason Merrill + + * call.cc (tourney): Only skip champ_compared_to_predecessor. + +2023-10-20 Nathan Sidwell + + PR c++/105322 + * module.cc (trees_out::core_vals): Stream CONSTRUCTOR operands + after the type. + (trees_in::core_vals): Likewise. + +2023-10-20 Patrick Palka + + * cp-lang.cc (objcp_tsubst_copy_and_build): Rename to ... + (objcp_tsubst_expr): ... this. + * cp-objcp-common.h (objcp_tsubst_copy_and_build): Rename to ... + (objcp_tsubst_expr): ... this. + * cp-tree.h (tsubst_copy_and_build): Remove declaration. + * init.cc (maybe_instantiate_nsdmi_init): Use tsubst_expr + instead of tsubst_copy_and_build. + * pt.cc (expand_integer_pack): Likewise. + (instantiate_non_dependent_expr_internal): Likewise. + (instantiate_class_template): Use tsubst_stmt instead of + tsubst_expr for STATIC_ASSERT. + (tsubst_function_decl): Adjust tsubst_copy_and_build uses. + (tsubst_arg_types): Likewise. + (tsubst_exception_specification): Likewise. + (tsubst_tree_list): Likewise. + (tsubst): Likewise. + (tsubst_name): Likewise. + (tsubst_omp_clause_decl): Use tsubst_stmt instead of tsubst_expr. + (tsubst_omp_clauses): Likewise. + (tsubst_copy_asm_operands): Adjust tsubst_copy_and_build use. + (tsubst_omp_for_iterator): Use tsubst_stmt instead of tsubst_expr. + (tsubst_expr): Rename to ... + (tsubst_stmt): ... this. + : Move to tsubst_expr. + (tsubst_omp_udr): Use tsubst_stmt instead of tsubst_expr. + (tsubst_non_call_postfix_expression): Adjust tsubst_copy_and_build + use. + (tsubst_lambda_expr): Likewise. Use tsubst_stmt instead of + tsubst_expr for the body of a lambda. + (tsubst_copy_and_build_call_args): Rename to ... + (tsubst_call_args): ... this. Adjust tsubst_copy_and_build use. + (tsubst_copy_and_build): Rename to tsubst_expr. Adjust + tsubst_copy_and_build and tsubst_copy_and_build_call_args use. + : Use tsubst_stmt instead of tsubst_expr. + (maybe_instantiate_noexcept): Adjust tsubst_copy_and_build use. + (instantiate_body): Use tsubst_stmt instead of tsubst_expr for + substituting the function body. + (tsubst_initializer_list): Adjust tsubst_copy_and_build use. + +2023-10-20 Patrick Palka + + * cp-tree.h (enum tsubst_flags): Add tf_no_name_lookup. + * pt.cc (tsubst_pack_expansion): Use tsubst for substituting + BASES_TYPE. + (tsubst_decl) : Use tsubst_name instead of + tsubst_copy. + (tsubst) : Use tsubst_copy_and_build + instead of tsubst_copy for substituting + CLASS_PLACEHOLDER_TEMPLATE. + : Use tsubst_name instead of tsubst_copy for + substituting TYPENAME_TYPE_FULLNAME. + (tsubst_name): Define. + (tsubst_qualified_id): Use tsubst_name instead of tsubst_copy + for substituting the component name of a SCOPE_REF. + (tsubst_copy): Remove. + (tsubst_copy_and_build): Clear tf_no_name_lookup at the start, + and remember if it was set. Call maybe_dependent_member_ref if + tf_no_name_lookup was not set. + : Don't do name lookup if tf_no_name_lookup + was set. + : If tf_no_name_lookup was set, use + tsubst_name instead of tsubst_copy_and_build to substitute the + template and don't finish the template-id. + : Handle identifier and type operand (if + tf_no_name_lookup was set). + : Avoid trying to resolve a SCOPE_REF if + tf_no_name_lookup was set by calling build_qualified_name directly + instead of tsubst_qualified_id. + : Handling of sizeof... copied from tsubst_copy. + : Use tsubst_name instead of tsubst_copy to + substitute a TEMPLATE_ID_EXPR callee naming an unresolved template. + : Likewise to substitute the member. + : Copied from tsubst_copy and merged with ... + : ... these. Initial handling copied + from tsubst_copy. Optimize local variable substitution by + trying retrieve_local_specialization before checking + uses_template_parms. + : Copied from tsubst_copy. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Use tsubst and tsubst_copy_and_build instead + of tsubst_copy. + : Copied from tsubst_copy. + (tsubst_initializer_list): Use tsubst and tsubst_copy_and_build + instead of tsubst_copy. + +2023-10-20 Patrick Palka + + PR c++/106086 + * parser.cc (cp_parser_postfix_expression): Consolidate three + calls to finish_call_expr, one to build_new_method_call and + one to build_min_nt_call_vec into one call to finish_call_expr. + Don't call maybe_generic_this_capture here. + * pt.cc (tsubst_copy_and_build) : Remove + COMPONENT_REF callee handling. + (type_dependent_expression_p): Use t_d_object_e_p instead of + t_d_e_p for COMPONENT_REF and OFFSET_REF. + * semantics.cc (finish_call_expr): In the type-dependent case, + call maybe_generic_this_capture here instead. + +2023-10-20 Patrick Palka + + * call.cc (build_new_method_call): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + * coroutines.cc (finish_co_return_stmt): Likewise. + * cp-tree.h (build_non_dependent_expr): Remove. + (make_args_non_dependent): Remove. + * decl2.cc (grok_array_decl): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + (build_offset_ref_call_from_tree): Likewise. + * init.cc (build_new): Likewise. + * pt.cc (make_args_non_dependent): Remove. + (test_build_non_dependent_expr): Remove. + (cp_pt_cc_tests): Adjust. + * semantics.cc (finish_expr_stmt): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + (finish_for_expr): Likewise. + (finish_call_expr): Likewise. + (finish_omp_atomic): Likewise. + * typeck.cc (finish_class_member_access_expr): Likewise. + (build_x_indirect_ref): Likewise. + (build_x_binary_op): Likewise. + (build_x_array_ref): Likewise. + (build_x_vec_perm_expr): Likewise. + (build_x_shufflevector): Likewise. + (build_x_unary_op): Likewise. + (cp_build_addressof): Likewise. + (build_x_conditional_expr): Likewise. + (build_x_compound_expr): Likewise. + (build_static_cast): Likewise. + (build_x_modify_expr): Likewise. + (check_return_expr): Likewise. + * typeck2.cc (build_x_arrow): Likewise. + +2023-10-20 Patrick Palka + + * class.cc (instantiate_type): Remove NON_DEPENDENT_EXPR + handling. + * constexpr.cc (cxx_eval_constant_expression): Likewise. + (potential_constant_expression_1): Likewise. + * coroutines.cc (coro_validate_builtin_call): Don't + expect ALIGNOF_EXPR to be wrapped in NON_DEPENDENT_EXPR. + * cp-objcp-common.cc (cp_common_init_ts): Remove + NON_DEPENDENT_EXPR handling. + * cp-tree.def (NON_DEPENDENT_EXPR): Remove. + * cp-tree.h (build_non_dependent_expr): Temporarily redefine as + the identity function. + * cvt.cc (maybe_warn_nodiscard): Handle type-dependent and + variable callee of CALL_EXPR. + * cxx-pretty-print.cc (cxx_pretty_printer::expression): Remove + NON_DEPENDENT_EXPR handling. + * error.cc (dump_decl): Likewise. + (dump_expr): Likewise. + * expr.cc (mark_use): Likewise. + (mark_exp_read): Likewise. + * pt.cc (build_non_dependent_expr): Remove. + * tree.cc (lvalue_kind): Remove NON_DEPENDENT_EXPR handling. + (cp_stabilize_reference): Likewise. + * typeck.cc (warn_for_null_address): Likewise. + (cp_build_binary_op): Handle type-dependent SIZEOF_EXPR operands. + (cp_build_unary_op) : Don't fold inside a + template. + +2023-10-20 Alexandre Oliva + + * decl.cc (push_throw_library_fn): Mark with ECF_XTHROW. + * except.cc (build_throw): Likewise __cxa_throw, + _ITM_cxa_throw, __cxa_rethrow. + +2023-10-20 Nathaniel Shead + + PR c++/101631 + PR c++/102286 + * call.cc (build_over_call): Fold more indirect refs for trivial + assignment op. + * class.cc (type_has_non_deleted_trivial_default_ctor): Create. + * constexpr.cc (cxx_eval_call_expression): Start lifetime of + union member before entering constructor. + (cxx_eval_component_reference): Check against first member of + value-initialised union. + (cxx_eval_store_expression): Activate member for + value-initialised union. Check for accessing inactive union + member indirectly. + * cp-tree.h (type_has_non_deleted_trivial_default_ctor): + Forward declare. + +2023-10-20 Nathaniel Shead + + * constexpr.cc (is_std_source_location_current): New. + (cxx_eval_constant_expression): Only ignore cast from void* for + specific cases and improve other diagnostics. + 2023-10-19 Marek Polacek * cp-gimplify.cc (cp_fold_r): Don't call maybe_constant_value. diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index b17ed645628b..d4df075cc60f 100644 --- a/gcc/objcp/ChangeLog +++ b/gcc/objcp/ChangeLog @@ -1,3 +1,9 @@ +2023-10-20 Patrick Palka + + * objcp-lang.cc (objcp_tsubst_copy_and_build): Rename to ... + (objcp_tsubst_expr): ... this. Adjust tsubst_copy_and_build + uses. + 2022-11-15 Patrick Palka * objcp-lang.cc (objcp_tsubst_copy_and_build): Adjust calls to diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index 6c886120aee8..186ff4cb27e1 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,12 @@ +2023-10-20 Patrick Palka + + PR rust/111899 + * backend/rust-constexpr.cc (potential_constant_expression_1): + Remove NON_DEPENDENT_EXPR handling. + * backend/rust-tree.cc (mark_exp_read): Likewise. + (mark_use): Likewise. + (lvalue_kind): Likewise. + 2023-09-28 Richard Sandiford * backend/rust-constexpr.cc (rs_fold_indirect_ref): Remove unused diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 46cd2f6f786e..a14fb93a0354 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,210 @@ +2023-10-20 Roger Sayle + Uros Bizjak + + PR middle-end/101955 + PR tree-optimization/106245 + * gcc.target/i386/pr106245-2.c: New test case. + * gcc.target/i386/pr106245-3.c: New 32-bit test case. + * gcc.target/i386/pr106245-4.c: New 64-bit test case. + * gcc.target/i386/pr106245-5.c: Likewise. + +2023-10-20 Jason Merrill + + * g++.dg/template/sfinae-dr657.C: Adjust. + +2023-10-20 Jason Merrill + + * g++.dg/cpp1y/constexpr-diag1.C: Add -fno-implicit-constexpr. + +2023-10-20 Jason Merrill + + * g++.dg/warn/Wsign-promo1.C: New test. + +2023-10-20 Nathan Sidwell + + * g++.dg/modules/decltype-1_a.C: New. + * g++.dg/modules/decltype-1_b.C: New. + * g++.dg/modules/lambda-5_a.C: New. + * g++.dg/modules/lambda-5_b.C: New. + +2023-10-20 Florian Weimer + + * gcc.dg/Wint-conversion-3.c: New. + +2023-10-20 Florian Weimer + + * gcc.dg/Wincompatible-pointer-types-2.c: New. + * gcc.dg/Wincompatible-pointer-types-3.c: New. + * gcc.dg/Wincompatible-pointer-types-4.c: New. + +2023-10-20 Marek Polacek + + PR c/111884 + * c-c++-common/alias-1.c: New test. + +2023-10-20 Andre Vieira + + * gcc.dg/vect/pr111882.c: New test. + +2023-10-20 Patrick Palka + + PR c++/106086 + * g++.dg/template/crash127.C: Expect additional error due to + being able to check the member access expression ahead of time. + Strengthen the test by not instantiating the class template. + * g++.dg/cpp1y/lambda-generic-this5.C: New test. + +2023-10-20 Patrick Palka + + * g++.dg/concepts/var-concept3.C: Adjust expected diagnostic + for attempting to call a variable concept. + +2023-10-20 Richard Biener + + PR tree-optimization/111383 + PR tree-optimization/110243 + * gcc.dg/torture/pr111383.c: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/111445 + * gcc.dg/torture/pr111445.c: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/110243 + PR tree-optimization/111336 + * gcc.dg/torture/pr110243.c: New testcase. + * gcc.dg/torture/pr111336.c: Likewise. + +2023-10-20 Richard Biener + + PR tree-optimization/111891 + * gfortran.dg/pr111891.f90: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/111000 + * gcc.dg/torture/pr111000.c: New testcase. + +2023-10-20 Alexandre Oliva + + * c-c++-common/torture/harden-cfr.c: New. + * c-c++-common/harden-cfr-noret-never-O0.c: New. + * c-c++-common/torture/harden-cfr-noret-never.c: New. + * c-c++-common/torture/harden-cfr-noret-noexcept.c: New. + * c-c++-common/torture/harden-cfr-noret-nothrow.c: New. + * c-c++-common/torture/harden-cfr-noret.c: New. + * c-c++-common/torture/harden-cfr-notail.c: New. + * c-c++-common/torture/harden-cfr-returning.c: New. + * c-c++-common/torture/harden-cfr-tail.c: New. + * c-c++-common/torture/harden-cfr-abrt-always.c: New. + * c-c++-common/torture/harden-cfr-abrt-never.c: New. + * c-c++-common/torture/harden-cfr-abrt-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-abrt-nothrow.c: New. + * c-c++-common/torture/harden-cfr-abrt.c: New. + * c-c++-common/torture/harden-cfr-always.c: New. + * c-c++-common/torture/harden-cfr-never.c: New. + * c-c++-common/torture/harden-cfr-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-nothrow.c: New. + * c-c++-common/torture/harden-cfr-bret-always.c: New. + * c-c++-common/torture/harden-cfr-bret-never.c: New. + * c-c++-common/torture/harden-cfr-bret-noopt.c: New. + * c-c++-common/torture/harden-cfr-bret-noret.c: New. + * c-c++-common/torture/harden-cfr-bret-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-bret-nothrow.c: New. + * c-c++-common/torture/harden-cfr-bret-retcl.c: New. + * c-c++-common/torture/harden-cfr-bret.c: New. + * g++.dg/harden-cfr-throw-always-O0.C: New. + * g++.dg/harden-cfr-throw-returning-O0.C: New. + * g++.dg/torture/harden-cfr-noret-always-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-noret-never-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-noret-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-throw-always.C: New. + * g++.dg/torture/harden-cfr-throw-never.C: New. + * g++.dg/torture/harden-cfr-throw-no-xthrow.C: New. + * g++.dg/torture/harden-cfr-throw-no-xthrow-expected.C: New. + * g++.dg/torture/harden-cfr-throw-nothrow.C: New. + * g++.dg/torture/harden-cfr-throw-nocleanup.C: New. + * g++.dg/torture/harden-cfr-throw-returning.C: New. + * g++.dg/torture/harden-cfr-throw.C: New. + * gcc.dg/torture/harden-cfr-noret-no-nothrow.c: New. + * gcc.dg/torture/harden-cfr-tail-ub.c: New. + * gnat.dg/hardcfr.adb: New. + * c-c++-common/torture/harden-cfr-skip-leaf.c: New file. + * g++.dg/harden-cfr-throw-returning-enabled-O0.C: New file. + +2023-10-20 Tamar Christina + Andre Vieira + + * gcc.dg/vect/vect-bitfield-read-1-not.c: New test. + * gcc.dg/vect/vect-bitfield-read-2-not.c: New test. + * gcc.dg/vect/vect-bitfield-read-8.c: New test. + * gcc.dg/vect/vect-bitfield-read-9.c: New test. + +2023-10-20 Hu, Lin1 + + * gcc.target/i386/pr89229-5b.c: Modify test. + * gcc.target/i386/pr89229-6b.c: Ditto. + * gcc.target/i386/pr89229-7b.c: Ditto. + +2023-10-20 Juzhe-Zhong + + PR target/111848 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: New test. + +2023-10-20 Lehua Ding + + PR target/111037 + PR target/111234 + PR target/111725 + * gcc.target/riscv/rvv/base/scalar_move-1.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Adjust. + * gcc.target/riscv/rvv/base/pr111037-1.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: ...here. + * gcc.target/riscv/rvv/base/pr111037-2.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: ...here. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: New test. + +2023-10-20 Nathaniel Shead + + PR c++/101631 + PR c++/102286 + * g++.dg/cpp1y/constexpr-89336-3.C: Fix union initialisation. + * g++.dg/cpp1y/constexpr-union6.C: New test. + * g++.dg/cpp1y/constexpr-union7.C: New test. + * g++.dg/cpp2a/constexpr-union2.C: New test. + * g++.dg/cpp2a/constexpr-union3.C: New test. + * g++.dg/cpp2a/constexpr-union4.C: New test. + * g++.dg/cpp2a/constexpr-union5.C: New test. + * g++.dg/cpp2a/constexpr-union6.C: New test. + +2023-10-20 Nathaniel Shead + + * g++.dg/cpp0x/constexpr-cast4.C: New test. + 2023-10-19 Andre Vieira * gcc.dg/gomp/pr110485.c: New test. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 957bf1d130e7..678364b71b78 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,12 @@ +2023-10-20 Andrew Stubbs + + * config/gcn/amdgcn_veclib.h (CDNA3_PLUS): Set false for __RDNA2__. + +2023-10-20 Alexandre Oliva + + * Makefile.in (LIB2ADD): Add hardcfr.c. + * hardcfr.c: New. + 2023-10-13 Florian Weimer * config/or1k/linux-unwind.h (or1k_fallback_frame_state): Add diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 607786cd7eff..1a20629c441b 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,15 @@ +2023-10-20 Andrew Stubbs + + * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. + (isa_hsa_name): Recognise gfx1030. + (isa_code): Likewise. + * team.c (defined): Remove s_endpgm. + +2023-10-20 Tobias Burnus + + * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when + _OPENMP >= 201811. + 2023-10-15 Tobias Burnus * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes; diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 45d482a78bef..27add0da879e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2023-10-20 Marek Polacek + + PR testsuite/111883 + * include/std/charconv (from_chars): Add explicit casts. + 2023-10-19 François Dumont * include/bits/hashtable_policy.h