aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2022-06-02 00:16:32 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2022-06-02 00:16:32 +0000
commit3164de6ac1b8473e60f6b85e94b15930694c80d7 (patch)
tree743bcd44c90646ad04a74aace248332cbbad461b /gcc
parent2d546ff69455f7deadab65309de89d19380a8864 (diff)
downloadgcc-3164de6ac1b8473e60f6b85e94b15930694c80d7.zip
gcc-3164de6ac1b8473e60f6b85e94b15930694c80d7.tar.gz
gcc-3164de6ac1b8473e60f6b85e94b15930694c80d7.tar.bz2
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog385
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog272
-rw-r--r--gcc/cp/ChangeLog41
-rw-r--r--gcc/testsuite/ChangeLog35
5 files changed, 734 insertions, 1 deletions
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