diff options
-rw-r--r-- | config/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ChangeLog | 385 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 272 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 41 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 35 | ||||
-rw-r--r-- | libcc1/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/ChangeLog | 5 |
8 files changed, 749 insertions, 1 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index 9e6cc47..7e2ea8d 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2022-06-01 David Seifert <soap@gentoo.org> + + PR plugins/95648 + * gcc-plugin.m4: Use libtool's $ac_cv_prog_OBJDUMP. + 2022-05-20 Christophe Lyon <christophe.lyon@arm.com> * dfp.m4: Add aarch64 support. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a6f051..6d91cce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,388 @@ +2022-06-01 David Seifert <soap@gentoo.org> + + PR plugins/95648 + * configure: Regenerate. + +2022-06-01 H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/105638 + * df-core.cc (df_find_single_def_src): Moved and renamed from + find_single_def_src in loop-iv.cc. Change the argument to rtx + and use rtx_equal_p. Return null for partial or conditional + defs. + * df.h (df_find_single_def_src): New prototype. + * dse.cc (record_store): Use the constant source if the source + register is set only once. + * loop-iv.cc (find_single_def_src): Moved to df-core.cc. + (replace_single_def_regs): Replace find_single_def_src with + df_find_single_def_src. + +2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.opt (explicit_tune_core): Rename to + selected_tune. + (explicit_arch): Rename to selected_arch. + (x_aarch64_override_tune_string): Remove. + (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored. + (aarch64_override_tune_string): Add Save so it gets saved/restored. + * config/aarch64/aarch64.h (aarch64_architecture_version): Remove. + * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove. + (processor): Remove archtecture_version field. + (selected_arch): Remove global. + (selected_cpu): Remove global. + (selected_tune): Remove global. + (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved. + (aarch64_override_options_internal): Use aarch64_get_tune_cpu. + (aarch64_override_options): Further simplify code to only set + selected_arch and selected_tune globals. + (aarch64_option_save): Remove now that target options are saved. + (aarch64_option_restore): Remove redundant target option restores. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use + AARCH64_ISA_V9. + * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from... + * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove. + (aarch64_ra_sign_key): Remove. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) -> + x > ~(utype)0 / cst): New simplification. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105786 + * tree-loop-distribution.cc + (loop_distribution::transform_reduction_loop): Only do strlen + replacement for integer type reductions. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105770 + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast + CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange. + (sbr_vector::sbr_vector): Same. + (sbr_vector::grow): Same. + (sbr_vector::set_bb_range): Same. + (sbr_vector::get_bb_range): Same. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. + (sbr_sparse_bitmap::set_bb_range): Same. + (sbr_sparse_bitmap::get_bb_range): Same. + (block_range_cache::set_bb_range): Same. + (block_range_cache::get_bb_range): Same. + (block_range_cache::dump): Same. + (ssa_global_cache::get_global_range): Same. + (ssa_global_cache::set_global_range): Same. + (ssa_global_cache::clear): Same. + (ssa_global_cache::dump): Same. + (ranger_cache::get_global_range): Same. + (ranger_cache::set_global_range): Same. + (ranger_cache::range_of_def): Same. + (ranger_cache::entry_range): Same. + (ranger_cache::exit_range): Same. + (ranger_cache::edge_range): Same. + (ranger_cache::range_of_expr): Same. + (ranger_cache::range_on_edge): Same. + (ranger_cache::block_range): Same. + (ranger_cache::propagate_cache): Same. + (ranger_cache::fill_block_cache): Same. + (ranger_cache::range_from_dom): Same. + * gimple-range-cache.h: Same. + * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range): + Same. + (gimple_outgoing_range::switch_edge_range): Same. + (gimple_outgoing_range::edge_range_p): Same. + * gimple-range-edge.h: Same. + * gimple-range-fold.cc (fur_source::get_operand): Same. + (fur_source::get_phi_operand): Same. + (fur_edge::get_operand): Same. + (fur_edge::get_phi_operand): Same. + (fur_stmt::get_operand): Same. + (fur_stmt::get_phi_operand): Same. + (fur_list::fur_list): Same. + (fur_list::get_operand): Same. + (fur_list::get_phi_operand): Same. + (fold_range): Same. + (adjust_imagpart_expr): Same. + (adjust_realpart_expr): Same. + (gimple_range_adjustment): Same. + (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_address): Same. + (fold_using_range::range_of_phi): Same. + (fold_using_range::range_of_call): Same. + (fold_using_range::range_of_builtin_call): Same. + (fold_using_range::range_of_builtin_int_call): Same. + (fold_using_range::range_of_cond_expr): Same. + (fur_source::register_outgoing_edges): Same. + * gimple-range-fold.h (fold_range): Same. + (gimple_range_type): Same. + (gimple_range_ssa_p): Same. + * gimple-range-gori.cc (gimple_range_calc_op1): Same. + (gimple_range_calc_op2): Same. + (gori_compute::compute_operand_range_switch): Same. + (gori_compute::compute_operand_range): Same. + (gori_compute::logical_combine): Same. + (gori_compute::compute_logical_operands): Same. + (gori_compute::compute_operand1_range): Same. + (gori_compute::compute_operand2_range): Same. + (gori_compute::compute_operand1_and_operand2_range): Same. + (gori_compute::outgoing_edge_range_p): Same. + (gori_compute::condexpr_adjust): Same. + * gimple-range-gori.h (gimple_range_calc_op1): Same. + (gimple_range_calc_op2): Same. + * gimple-range-path.cc (path_range_query::get_cache): Same. + (path_range_query::set_cache): Same. + (path_range_query::range_on_path_entry): Same. + (path_range_query::internal_range_of_expr): Same. + (path_range_query::range_of_expr): Same. + (path_range_query::ssa_range_in_phi): Same. + (path_range_query::range_defined_in_block): Same. + (path_range_query::compute_ranges_in_phis): Same. + (path_range_query::compute_ranges_in_block): Same. + (path_range_query::add_to_imports): Same. + (path_range_query::range_of_stmt): Same. + * gimple-range-path.h: Same. + * gimple-range-infer.cc (gimple_infer_range::add_range): Same. + (gimple_infer_range::~side_effect_manager): Same. + (gimple_infer_range::get_nonzero): Same. + (gimple_infer_range::maybe_adjust_range): Same. + (gimple_infer_range::add_range): Same. + * gimple-range-infer.h: Same. + * gimple-range-tests.cc: Same. + * gimple-range-trace.cc (range_tracer::trailer): Same. + (debug_seed_ranger): Same. + * gimple-range-trace.h: Same. + * gimple-range.cc (gimple_ranger::range_of_expr): Same. + (gimple_ranger::range_on_entry): Same. + (gimple_ranger::range_on_exit): Same. + (gimple_ranger::range_on_edge): Same. + (gimple_ranger::fold_range_internal): Same. + (gimple_ranger::range_of_stmt): Same. + (gimple_ranger::prefill_name): Same. + (gimple_ranger::prefill_stmt_dependencies): Same. + (gimple_ranger::export_global_ranges): Same. + (gimple_ranger::dump_bb): Same. + * gimple-range.h: Same. + * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same. + (memmodel_to_uhwi): Same. + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. + (determine_value_range): Same. + (record_nonwrapping_iv): Same. + (infer_loop_bounds_from_signedness): Same. + (scev_var_range_cant_overflow): Same. + * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same. + * value-query.cc (range_query::range_on_edge): Same. + (range_query::range_of_stmt): Same. + (range_query::value_of_expr): Same. + (range_query::value_on_edge): Same. + (range_query::value_of_stmt): Same. + (range_query::get_tree_range): Same. + (update_global_range): Same. + (get_range_global): Same. + (gimple_range_global): Same. + (global_range_query::range_of_expr): Same. + (range_query::query_relation): Same. + * value-query.h (gimple_range_global): Same. + (update_global_range): Same. + * vr-values.cc (vr_values::range_of_expr): Same. + (bounds_of_var_in_loop): Same. + (simplify_using_ranges::vrp_visit_cond_stmt): Same. + * vr-values.h (class vr_values): Same. + * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for + vrange allocator. + (sbr_vector::grow): Same. + (sbr_vector::set_bb_range): Same. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. + (sbr_sparse_bitmap::set_bb_range): Same. + (block_range_cache::~block_range_cache): Same. + (block_range_cache::set_bb_range): Same. + (ssa_global_cache::ssa_global_cache): Same. + (ssa_global_cache::~ssa_global_cache): Same. + (ssa_global_cache::set_global_range): Same. + * gimple-range-cache.h (block_range_cache): Same. + (ssa_global_cache): Same. + * gimple-range-edge.cc + (gimple_outgoing_range::calc_switch_ranges): Same. + * gimple-range-edge.h (gimple_outgoing_range): Same. + * gimple-range-infer.cc (infer_range_manager::get_nonzero): + Same. + (infer_range_manager::add_range): Same. + * gimple-range-infer.h (class infer_range_manager): Same. + * value-range.h (class irange_allocator): Rename to... + (class vrange_allocator): ...this. + (irange_allocator::irange_allocator): New. + (vrange_allocator::vrange_allocator): New. + (irange_allocator::~irange_allocator): New. + (vrange_allocator::~vrange_allocator): New. + (irange_allocator::get_memory): Rename to... + (vrange_allocator::alloc): ...this. + (vrange_allocator::alloc_vrange): Rename from... + (irange_allocator::allocate): ...this. + (vrange_allocator::alloc_irange): New. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for + vrange and convert range_op_handler function calls to use the + identically named object. + * gimple-range-fold.cc (gimple_range_operand1): Same. + (gimple_range_operand2): Same. + (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_builtin_ubsan_call): Same. + (fold_using_range::relation_fold_and_or): Same. + (fur_source::register_outgoing_edges): Same. + * gimple-range-fold.h (gimple_range_handler): Remove. + * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange. + (gimple_range_calc_op2): Same. + (range_def_chain::get_def_chain): Same. + (gori_compute::compute_operand_range): Same. + (gori_compute::condexpr_adjust): Same. + * gimple-range.cc (gimple_ranger::prefill_name): Same. + (gimple_ranger::prefill_stmt_dependencies): Same. + * range-op.cc (get_bool_state): Same. + (class operator_equal): Add using clause. + (class operator_not_equal): Same. + (class operator_lt): Same. + (class operator_le): Same. + (class operator_gt): Same. + (class operator_ge): Same. + (class operator_plus): Same. + (class operator_minus): Same. + (class operator_mult): Same. + (class operator_exact_divide): Same. + (class operator_lshift): Same. + (class operator_rshift): Same. + (class operator_cast): Same. + (class operator_logical_and): Same. + (class operator_bitwise_and): Same. + (class operator_logical_or): Same. + (class operator_bitwise_or): Same. + (class operator_bitwise_xor): Same. + (class operator_trunc_mod): Same. + (class operator_logical_not): Same. + (class operator_bitwise_not): Same. + (class operator_cst): Same. + (class operator_identity): Same. + (class operator_unknown): Same. + (class operator_abs): Same. + (class operator_negate): Same. + (class operator_addr_expr): Same. + (class pointer_or_operator): Same. + (operator_plus::op1_range): Adjust for vrange. + (operator_minus::op1_range): Same. + (operator_mult::op1_range): Same. + (operator_cast::op1_range): Same. + (operator_bitwise_not::fold_range): Same. + (operator_negate::fold_range): Same. + (range_op_handler): Rename to... + (get_handler): ...this. + (range_op_handler::range_op_handler): New. + (range_op_handler::fold_range): New. + (range_op_handler::op1_range): New. + (range_op_handler::op2_range): New. + (range_op_handler::lhs_op1_relation): New. + (range_op_handler::lhs_op2_relation): New. + (range_op_handler::op1_op2_relation): New. + (range_cast): Adjust for vrange. + * range-op.h (range_op_handler): Remove function. + (range_cast): Adjust for vrange. + (class range_op_handler): New. + (get_bool_state): Adjust for vrange. + (empty_range_varying): Same. + (relop_early_resolve): Same. + * tree-data-ref.cc (compute_distributive_range): Same. + * tree-vrp.cc (get_range_op_handler): Remove. + (range_fold_binary_symbolics_p): Use range_op_handler class + instead of get_range_op_handler. + (range_fold_unary_symbolics_p): Same. + (range_fold_binary_expr): Same. + (range_fold_unary_expr): Same. + * value-query.cc (range_query::get_tree_range): Adjust for vrange. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-fold.h (gimple_range_type): Check type before + calling supports_type_p. + * gimple-range-path.cc (path_range_query::range_of_stmt): Same. + * value-query.cc (range_query::get_tree_range): Same. + * value-range.cc (Value_Range::lower_bound): New. + (Value_Range::upper_bound): New. + (Value_Range::dump): New. + * value-range.h (class Value_Range): New. + (irange::supports_type_p): Do not check if type is non-zero. + +2022-06-01 Aldy Hernandez <aldyh@redhat.com> + + * value-range-equiv.cc (value_range_equiv::set): New. + * value-range-equiv.h (class value_range_equiv): Make set method + virtual. + Remove default bitmap argument from set method. + * value-range.cc (vrange::contains_p): New. + (vrange::singleton_p): New. + (vrange::operator=): New. + (vrange::operator==): New. + (irange::fits_p): Move to .cc file. + (irange::set_nonnegative): New. + (unsupported_range::unsupported_range): New. + (unsupported_range::set): New. + (unsupported_range::type): New. + (unsupported_range::set_undefined): New. + (unsupported_range::set_varying): New. + (unsupported_range::dump): New. + (unsupported_range::union_): New. + (unsupported_range::intersect): New. + (unsupported_range::zero_p): New. + (unsupported_range::nonzero_p): New. + (unsupported_range::set_nonzero): New. + (unsupported_range::set_zero): New. + (unsupported_range::set_nonnegative): New. + (unsupported_range::fits_p): New. + (irange::set): Call irange::set_undefined. + (irange::verify_range): Check discriminator field. + (irange::dump): Dump [irange] marker. + (irange::debug): Move to... + (vrange::debug): ...here. + (dump_value_range): Accept vrange. + (debug): Same. + * value-range.h (enum value_range_discriminator): New. + (class vrange): New. + (class unsupported_range): New. + (struct vrange_traits): New. + (is_a): New. + (as_a): New. + (class irange): Inherit from vrange. + (dump_value_range): Adjust for vrange. + (irange::kind): Rename to... + (vrange::kind): ...this. + (irange::varying_p): Rename to... + (vrange::varying_p): ...this. + (irange::undefined_p): Rename to... + (vrange::undefined_p): ...this. + (irange::irange): Set discriminator. + (irange::union_): Convert to irange before passing to irange + method. + (irange::intersect): Same. + (vrange::supports_type_p): New. + * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass + NULL bitmap argument to value_range_equiv::set. + (vr_values::extract_range_basic): Same. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105763 + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): + Check gimple_range_ssa_p. + 2022-05-31 Jason Merrill <jason@redhat.com> * Makefile.in (TAGS): Look at libcpp/*.cc. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 69bbccc..42757d4 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220601 +20220602 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ac5f8cf..6cf00b6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,275 @@ +2022-06-01 Yannick Moy <moy@adacore.com> + + * contracts.adb (Check_Type_Or_Object_External_Properties): Check + the validity of combinations only when No_Caching is not used. + * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check + valid combinations with No_Caching. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute + based on Standard'Word_Size. (Memory_Size): Compute based + on Word_Size. + * libgnat/system-vxworks7-arm.ads: Likewise. + * libgnat/system-vxworks7-e500-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * libgnat/system-qnx-arm.ads (Memory_Size): Compute based on + Word_Size. + +2022-06-01 Piotr Trojanek <trojanek@adacore.com> + + * par-util.adb (Ignore): Add missing space to message string. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * sem_prag.ads (Assertion_Expression_Pragmas): Fix value for + pragma Subprogram_Variant. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in + lieu of Returns_On_Secondary_Stack. + (Expand_Call_Helper): Likewise. + (Expand_Simple_Function_Return): Likewise. + (Needs_BIP_Alloc_Form): Likewise. + * exp_ch7.adb (Wrap_Transient_Declaration): Likewise. + * sem_res.adb (Resolve_Call): Likewise. + (Resolve_Entry_Call): Likewise. + * sem_util.ads (Returns_On_Secondary_Stack): Rename into... + (Needs_Secondary_Stack): ...this. + * sem_util.adb (Returns_On_Secondary_Stack): Rename into... + (Needs_Secondary_Stack): ...this. + * fe.h (Returns_On_Secondary_Stack): Delete. + (Needs_Secondary_Stack): New function. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call + to Returns_On_Secondary_Stack with Needs_Secondary_Stack. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where + there is no previous declaration, freeze the body entity only after + it has been processed as a new overloaded name. + Use Was_Expression_Function to recognize expression functions. + * sem_disp.adb (Check_Dispatching_Operation): Do not require a body + which is the last primitive to be frozen here. + +2022-06-01 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cfdlli.adb ("="): Make the function properly loop + over the right list. + +2022-06-01 Marc Poulhiès <poulhies@adacore.com> + + * checks.adb (Apply_Predicate_Check): Refine condition for + applying optimization. + * sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to + Should_Build_Subtype. + (Analyze_Object_Declaration): Likewise. + (Should_Build_Subtype): Rename/move to ... + * sem_util.ads (Build_Default_Subtype_OK): ... this. + * sem_util.adb (Build_Default_Subtype_OK): Moved from + sem_ch3.adb. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump + the pc an extra byte. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new behavior. + * errout.adb (Write_JSON_Location): Output absolute paths when + needed. + * switch-c.adb (Scan_Front_End_Switches): Update -gnatef + comment. + * usage.adb (Usage): Update description of -gnatef. + * gnat_ugn.texi: Regenerate. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined + unconditionnally on the procedure entity. + +2022-06-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag + from parent type. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Statement): Add a comment about + a finalization issue. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack + instead of Requires_Transient_Scope and tidy up. + (Needs_BIP_Alloc_Form): Likewise. + * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return + true if the build-in-place function call has no BIPalloc parameter. + (Is_Finalizable_Transient): Remove redundant test. + +2022-06-01 Alexandre Oliva <oliva@adacore.com> + + * doc/gnat_rm/security_hardening_features.rst: Note that hardening + features are experimental. + * gnat_rm.texi: Regenerate. + +2022-06-01 Steve Baird <baird@adacore.com> + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the + Corresponding_Spec field of a wrapper subprogram body before + analyzing the subprogram body; the field will be set (again) + during analysis, but we need it to be set earlier. + * exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram + bodies to the list of declarations for which we do not want to + suppress checks. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment. + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.adb + (Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly + check the dependence on discriminants for the variant part, if + any, instead of calling the Is_Definite_Subtype predicate. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag. + +2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_warn.adb (Check_References): Adjust conditions under which + warning messages should be emitted and their tags as well. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_disp.ads (Expand_Interface_Thunk): Change type of Prim. + * exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op + earlier, do not initialize Iface_Formal, use No idiom and tweaks + comments. + (Register_Primitive): Declare L earlier and tweak comments. + * sem_disp.adb (Check_Dispatching_Operation): Move tests out of + loop. + +2022-06-01 Steve Baird <baird@adacore.com> + + * exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which + did not need to be visible - it was not referenced outside this + package) with Build_Or_Copy_Discr_Checking_Funcs. + * exp_ch3.adb: Refactor existing code into 3 procedures - + Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and + Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended + to be semantics-preserving. + * exp_ch4.adb (Expand_N_Selected_Component): Detect case where a + call should be generated to the Discriminant_Checking_Func for + the component in question, but that subprogram does not yet + exist. + * sem_ch13.adb (Freeze_Entity_Checks): Immediately before + calling Build_Predicate_Function, add a call to + Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure + that Discriminant_Checking_Func attributes are already set when + Build_Predicate_Function is called. + * sem_ch6.adb (Analyze_Expression_Function): If the expression + of a static expression function has been transformed into an + N_Raise_xxx_Error node, then we need to copy the original + expression in order to check the requirement that the expression + must be a potentially static expression. We also want to set + aside a copy the untransformed expression for later use in + checking calls to the expression function via + Inline_Static_Function_Call. So introduce a new function, + Make_Expr_Copy, for use in these situations. + * sem_res.adb (Preanalyze_And_Resolve): When analyzing certain + expressions (e.g., a default parameter expression in a + subprogram declaration) we want to suppress checks. However, we + do not want to suppress checks for the expression of an + expression function. + +2022-06-01 Bob Duff <duff@adacore.com> + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each + subprogram found, assert that the variable is Empty, so we can + detect bugs where we find two or more things with the same name. + Without this patch, that bug would happen when we add the new + Next procedure. For Step, make sure we pick the right one, by + checking name and number of parameters. For Get_Element_Access, + check that we're picking a function. That's not really + necessary, because there is no procedure with that name, but it + seems cleaner this way. + * rtsfind.ads: Minor comment improvement. It seems kind of odd + to say "under no circumstances", and then immediately contradict + that with "The one exception is...". + +2022-06-01 Doug Rupp <rupp@adacore.com> + + * init.c (QNX): __gnat_adjust_context_for_raise: New + implementation for arm-qnx. + +2022-06-01 Julien Bortolussi <bortolussi@adacore.com> + + * libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference + counting. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * sem_ch8.adb (Use_One_Package): Possibly warn. + * sem_util.adb (Enter_Name): Factor out warning on hidden entity. + (Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and + generalize it to be applied also on use_clause. + * sem_util.ads (Warn_On_Hiding_Entity): Add new procedure. + +2022-06-01 Yannick Moy <moy@adacore.com> + + * par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error + message to benefit from existing codefix. + (P_Record_Definition): Detect out-of-order keywords in record + definition and issue appropriate messages. Other cases are + already caught at appropriate places. + +2022-06-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put + the actions into the Actions field of the freeze node instead of + inserting them after it. + +2022-06-01 Marc Poulhiès <poulhies@adacore.com> + + * sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate + and Is_Enum_Array_Aggregate. + +2022-06-01 Bob Duff <duff@adacore.com> + + * einfo-utils.adb (Set_Convention): Call Set_Convention + recursively, so that Set_Can_Use_Internal_Rep is called (if + appropriate) on the anonymous access type of the object, and its + designated subprogram type. + * sem_ch3.adb (Access_Definition): Remove redundant call to + Set_Can_Use_Internal_Rep. + +2022-06-01 Bob Duff <duff@adacore.com> + + * exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned + cases. + * fe.h (Assume_No_Invalid_Values): Remove from fe.h, because + this is not used in gigi. + * opt.ads (Assume_No_Invalid_Values): Improve the comment. We + don't need to "clearly prove"; we can just "prove". Remove the + comment about fe.h, which is no longer true. + 2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com> * erroutc.adb (Get_Warning_Option): Don't consider `?` as a diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 69e74bc..f66381b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,44 @@ +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105734 + * parser.cc (cp_parser_postfix_dot_deref_expression): Use typeof + if the expression has auto type. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105779 + * call.cc (resolve_args): Call mark_single_function here. + * pt.cc (unify_one_argument): Not here. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (fix_temporary_vars_context_r): Use data argument + for new context. + (one_static_initialization_or_destruction): Adjust tree walk + call. Refactor guard generation. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (ssdf_decl): Delete global. + (start_static_storage_duration_function): Use some RAII. + (do_static_initialization_or_destruction): Likewise. + (c_parse_final_cleanups): Likewise. Avoid rechecking 'vars'. + +2022-06-01 Nathan Sidwell <nathan@acm.org> + + * decl2.cc (start_objects): Replace 'method_type' parameter + with 'initp' boolean, rename and retype 'priority' parameter. + (finish_objects): Likewise. Do not expand here. + (one_static_initialization_or_destruction): Move 'initp' + parameter first. + (do_static_initialization_or_destruction): Likewise. + (generate_ctor_or_dtor_function): Rename 'initp' parameter. + Adjust start_objects/finish_obects calls and expand here. + (generate_ctor_and_dtor_functions_for_priority): Adjust calls. + (c_parse_final_cleanups): Likewise. + (vtv_start_verification_constructor_init): Adjust. + (vtv_finish_verification_constructor_init): Use finish_objects. + 2022-05-31 Patrick Palka <ppalka@redhat.com> PR c++/105758 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7df233e..62def2a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,38 @@ +2022-06-01 H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/105638 + * g++.target/i386/pr105638.C: New test. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105734 + * g++.dg/cpp0x/auto57.C: New test. + +2022-06-01 Jason Merrill <jason@redhat.com> + + PR c++/105779 + * g++.dg/cpp1y/auto-fn63.C: New test. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/30314 + * gcc.dg/tree-ssa/pr30314.c: New test. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105786 + * gcc.dg/torture/pr105786.c: New testcase. + +2022-06-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/105770 + * gcc.dg/pr105770.c: New test. + +2022-06-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/105763 + * gcc.dg/pr105763.c: New testcase. + 2022-05-31 Patrick Palka <ppalka@redhat.com> PR c++/105758 diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog index c03d89f..acb4b56 100644 --- a/libcc1/ChangeLog +++ b/libcc1/ChangeLog @@ -1,3 +1,8 @@ +2022-06-01 David Seifert <soap@gentoo.org> + + PR plugins/95648 + * configure: Regenerate. + 2021-12-16 Patrick Palka <ppalka@redhat.com> PR c++/51577 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 621cf08..6e858b5 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2022-06-01 H.J. Lu <hjl.tools@gmail.com> + + PR libgcc/27576 + * crtstuff.c (__EH_FRAME_BEGIN__): Aligned to pointer size. + 2022-05-25 Wilco Dijkstra <wilco.dijkstra@arm.com> PR libgcc/105708 |