Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 2 Jun 2022 00:16:32 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 2 Jun 2022 00:16:32 +0000 (00:16 +0000)
config/ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/cp/ChangeLog
gcc/testsuite/ChangeLog
libcc1/ChangeLog
libgcc/ChangeLog

index 9e6cc47..7e2ea8d 100644 (file)
@@ -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.
index 9a6f051..6d91cce 100644 (file)
@@ -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.
index 69bbccc..42757d4 100644 (file)
@@ -1 +1 @@
-20220601
+20220602
index ac5f8cf..6cf00b6 100644 (file)
@@ -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
index 69e74bc..f66381b 100644 (file)
@@ -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
index 7df233e..62def2a 100644 (file)
@@ -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
index c03d89f..acb4b56 100644 (file)
@@ -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
index 621cf08..6e858b5 100644 (file)
@@ -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