From 25b6bfea5f14da53116f2d3efe2446de89b9bc03 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Thu, 1 Jul 2021 00:16:41 +0000 Subject: [PATCH] Daily bump. --- ChangeLog | 4 + fixincludes/ChangeLog | 9 ++ gcc/ChangeLog | 109 ++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 237 ++++++++++++++++++++++++++++++++++++++++ gcc/cp/ChangeLog | 16 +++ gcc/testsuite/ChangeLog | 65 +++++++++++ libiberty/ChangeLog | 5 + libstdc++-v3/ChangeLog | 42 +++++++ 9 files changed, 488 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index aa38933be09..f1939078c68 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2021-06-30 Xi Ruoyao + + * MAINTAINERS (Write After Approval): Add myself. + 2021-06-25 Matthias Kretz * MAINTAINERS: Add myself for write after approval and DCO diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index cc1fbe70a76..c6960fc5f80 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,12 @@ +2021-06-30 Xi Ruoyao + + PR other/91085 + * fixfixes.c (check_has_inc): New static function. + (machine_name_fix): Don't replace header names in + __has_include(...). + * inclhack.def (machine_name): Adjust test. + * tests/base/testing.h: Update. + 2020-12-14 Ilya Leoshkevich * fixincl.x: Rerun genfixes. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52d23972cbf..0b2c08f75d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,112 @@ +2021-06-30 Hafiz Abid Qadeer + + * config/gcn/gcn.c: Include dwarf2.h. + (gcn_addr_space_debug): New function. + (TARGET_ADDR_SPACE_DEBUG): New hook. + +2021-06-30 Hafiz Abid Qadeer + + * common/config/gcn/gcn-common.c + (gcn_option_optimization_table): Change OPT_fomit_frame_pointer to -O3. + * config/gcn/gcn.c (gcn_expand_prologue): Prefer the frame pointer + when emitting CFI. + (gcn_expand_prologue): Prefer the frame pointer when emitting CFI. + (gcn_frame_pointer_rqd): New function. + (TARGET_FRAME_POINTER_REQUIRED): New hook. + +2021-06-30 Hafiz Abid Qadeer + + * config/gcn/gcn.c (move_callee_saved_registers): Emit CFI notes for + prologue register saves. + (gcn_debug_unwind_info): Use UI_DWARF2. + (gcn_dwarf_register_number): Map DWARF_LINK_REGISTER to DWARF PC. + (gcn_dwarf_register_span): DWARF_LINK_REGISTER doesn't span. + * config/gcn/gcn.h: (DWARF_FRAME_RETURN_COLUMN): New define. + (DWARF_LINK_REGISTER): New define. + (FIRST_PSEUDO_REGISTER): Increment. + (FIXED_REGISTERS): Add entry for DWARF_LINK_REGISTER. + (CALL_USED_REGISTERS): Likewise. + (REGISTER_NAMES): Likewise. + +2021-06-30 Richard Biener + + PR tree-optimization/101267 + * tree-vect-stmts.c (vect_check_scalar_mask): Adjust + API and use SLP compatible interface of vect_is_simple_use. + Reject not vectorized SLP defs for callers that do not support + that. + (vect_check_store_rhs): Handle masked stores and pass down + the appropriate operator index. + (vectorizable_call): Adjust. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. Handle SLP pecularity of + masked loads. + (vect_is_simple_use): Remove special-casing of masked stores. + +2021-06-30 Tobias Burnus + + * common.opt (foffload): Remove help as Driver only. + * gcc.c (display_help): Add -foffload. + +2021-06-30 Tobias Burnus + + * gcc.c (close_at_file, execute): Replace alloca by XALLOCAVEC. + (check_offload_target_name): Fix splitting OFFLOAD_TARGETS into + a candidate list; better inform no offload target is configured + and fix hint extraction when passed target is not '\0' at [len]. + * common.opt (foffload): Add tailing '.'. + (foffload-options): Likewise; fix flag name in the help string. + +2021-06-30 prathamesh.kulkarni + + PR target/66791 + * config/arm/arm_neon.h: Move vabs intrinsics before vcage_f32. + (vcage_f32): Gate comparison on __FAST_MATH__. + (vcageq_f32): Likewise. + (vcale_f32): Likewise. + (vcaleq_f32): Likewise. + (vcagt_f32): Likewise. + (vcagtq_f32): Likewise. + (vcalt_f32): Likewise. + (vcaltq_f32): Likewise. + (vcage_f16): Likewise. + (vcageq_f16): Likewise. + (vcale_f16): Likewise. + (vcaleq_f16): Likewise. + (vcagt_f16): Likewise. + (vcagtq_f16): Likewise. + (vcalt_f16): Likewise. + (vcaltq_f16): Likewise. + +2021-06-30 Richard Biener + + PR tree-optimization/101264 + * tree-vect-slp.c (vect_optimize_slp): Propagate the + computed perm_in to all "any" permute successors + we cannot de-duplicate immediately. + +2021-06-30 liuhongt + + PR target/101248 + * config/i386/sse.md + (avx512f_sfixupimm): + Refined to .. + (avx512f_sfixupimm): + this. + (avx512f_sfixupimm_mask"): Refined. + * config/i386/subst.md (maskz_scalar): New define_subst. + (maskz_scalar_name): New subst_attr. + (maskz_scalar_op5): Ditto. + (round_saeonly_maskz_scalar_op5): Ditto. + (round_saeonly_maskz_scalar_operand5): Ditto. + +2021-06-30 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): + Increase code CSECT alignment to at least 32 bytes. + * config/rs6000/xcoff.h (TEXT_SECTION_ASM_OP): Add 32 byte + alignment designation. + 2021-06-29 Sergei Trofimovich * doc/generic.texi: Fix s/net yet/not yet/ typo. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 80bc3a6ce24..8d2a207dbc7 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210630 +20210701 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index cc0eb11deb5..bb9f4d3252f 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,240 @@ +2021-06-30 David Malcolm + + PR analyzer/95006 + * analyzer.h (class repeated_svalue): New forward decl. + (class bits_within_svalue): New forward decl. + (class sized_region): New forward decl. + (get_field_at_bit_offset): New forward decl. + * engine.cc (exploded_graph::get_or_create_node): Validate the + merged state. + (exploded_graph::maybe_process_run_of_before_supernode_enodes): + Validate the states at each stage. + * program-state.cc (program_state::validate): Validate + m_region_model. + * region-model-impl-calls.cc (region_model::impl_call_memset): + Replace special-case logic for handling constant sizes with + a call to fill_region of a sized_region with the given fill value. + * region-model-manager.cc (maybe_undo_optimize_bit_field_compare): + Drop DK_direct. + (region_model_manager::maybe_fold_sub_svalue): Fold element-based + subregions of an initial value into initial values of an element. + Fold subvalues of repeated svalues. + (region_model_manager::maybe_fold_repeated_svalue): New. + (region_model_manager::get_or_create_repeated_svalue): New. + (get_bit_range_for_field): New. + (get_byte_range_for_field): New. + (get_field_at_byte_range): New. + (region_model_manager::maybe_fold_bits_within_svalue): New. + (region_model_manager::get_or_create_bits_within): New. + (region_model_manager::get_sized_region): New. + (region_model_manager::log_stats): Update for addition of + m_repeated_values_map, m_bits_within_values_map, and + m_sized_regions. + * region-model.cc (region_model::validate): New. + (region_model::on_assignment): Drop enum binding_kind. + (region_model::get_initial_value_for_global): Likewise. + (region_model::get_rvalue_for_bits): Replace body with call to + get_or_create_bits_within. + (region_model::get_capacity): Handle RK_SIZED. + (region_model::set_value): Drop enum binding_kind. + (region_model::fill_region): New. + (region_model::get_representative_path_var_1): Handle RK_SIZED. + * region-model.h (visitor::visit_repeated_svalue): New. + (visitor::visit_bits_within_svalue): New. + (region_model_manager::get_or_create_repeated_svalue): New decl. + (region_model_manager::get_or_create_bits_within): New decl. + (region_model_manager::get_sized_region): New decl. + (region_model_manager::maybe_fold_repeated_svalue): New decl. + (region_model_manager::maybe_fold_bits_within_svalue): New decl. + (region_model_manager::repeated_values_map_t): New typedef. + (region_model_manager::m_repeated_values_map): New field. + (region_model_manager::bits_within_values_map_t): New typedef. + (region_model_manager::m_bits_within_values_map): New field. + (region_model_manager::m_sized_regions): New field. + (region_model::fill_region): New decl. + * region.cc (region::get_base_region): Handle RK_SIZED. + (region::base_region_p): Likewise. + (region::get_byte_size_sval): New. + (get_field_at_bit_offset): Make non-static. + (region::calc_offset): Move implementation of cases to + get_relative_concrete_offset vfunc implementations. Handle + RK_SIZED. + (region::get_relative_concrete_offset): New. + (decl_region::get_svalue_for_initializer): Drop enum binding_kind. + (field_region::get_relative_concrete_offset): New, from + region::calc_offset. + (element_region::get_relative_concrete_offset): Likewise. + (offset_region::get_relative_concrete_offset): Likewise. + (sized_region::accept): New. + (sized_region::dump_to_pp): New. + (sized_region::get_byte_size): New. + (sized_region::get_bit_size): New. + * region.h (enum region_kind): Add RK_SIZED. + (region::dyn_cast_sized_region): New. + (region::get_byte_size): Make virtual. + (region::get_bit_size): Likewise. + (region::get_byte_size_sval): New decl. + (region::get_relative_concrete_offset): New decl. + (field_region::get_relative_concrete_offset): New decl. + (element_region::get_relative_concrete_offset): Likewise. + (offset_region::get_relative_concrete_offset): Likewise. + (class sized_region): New. + * store.cc (binding_kind_to_string): Delete. + (binding_key::make): Drop enum binding_kind. + (binding_key::dump_to_pp): Delete. + (binding_key::cmp_ptrs): Drop enum binding_kind. + (bit_range::contains_p): New. + (byte_range::dump): New. + (byte_range::contains_p): New. + (byte_range::cmp): New. + (concrete_binding::dump_to_pp): Drop enum binding_kind. + (concrete_binding::cmp_ptr_ptr): Likewise. + (symbolic_binding::dump_to_pp): Likewise. + (symbolic_binding::cmp_ptr_ptr): Likewise. + (binding_map::apply_ctor_val_to_range): Likewise. + (binding_map::apply_ctor_pair_to_child_region): Likewise. + (binding_map::get_overlapping_bindings): New. + (binding_map::remove_overlapping_bindings): New. + (binding_cluster::validate): New. + (binding_cluster::bind): Drop enum binding_kind. + (binding_cluster::bind_compound_sval): Likewise. + (binding_cluster::purge_region): Likewise. + (binding_cluster::zero_fill_region): Reimplement in terms of... + (binding_cluster::fill_region): New. + (binding_cluster::mark_region_as_unknown): Drop enum binding_kind. + (binding_cluster::get_binding): Likewise. + (binding_cluster::get_binding_recursive): Likewise. + (binding_cluster::get_any_binding): Likewise. + (binding_cluster::maybe_get_compound_binding): Reimplement. + (binding_cluster::get_overlapping_bindings): Delete. + (binding_cluster::remove_overlapping_bindings): Reimplement in + terms of binding_map::remove_overlapping_bindings. + (binding_cluster::can_merge_p): Update for removal of + enum binding_kind. + (binding_cluster::on_unknown_fncall): Drop enum binding_kind. + (binding_cluster::maybe_get_simple_value): Likewise. + (store_manager::get_concrete_binding): Likewise. + (store_manager::get_symbolic_binding): Likewise. + (store::validate): New. + (store::set_value): Drop enum binding_kind. + (store::zero_fill_region): Reimplement in terms of... + (store::fill_region): New. + (selftest::test_binding_key_overlap): Drop enum binding_kind. + * store.h (enum binding_kind): Delete. + (binding_kind_to_string): Delete decl. + (binding_key::make): Drop enum binding_kind. + (binding_key::dump_to_pp): Make pure virtual. + (binding_key::get_kind): Delete. + (binding_key::mark_deleted): Delete. + (binding_key::mark_empty): Delete. + (binding_key::is_deleted): Delete. + (binding_key::is_empty): Delete. + (binding_key::binding_key): Delete. + (binding_key::impl_hash): Delete. + (binding_key::impl_eq): Delete. + (binding_key::m_kind): Delete. + (bit_range::get_last_bit_offset): New. + (bit_range::contains_p): New. + (byte_range::contains_p): New. + (byte_range::operator==): New. + (byte_range::get_start_byte_offset): New. + (byte_range::get_next_byte_offset): New. + (byte_range::get_last_byte_offset): New. + (byte_range::as_bit_range): New. + (byte_range::cmp): New. + (concrete_binding::concrete_binding): Drop enum binding_kind. + (concrete_binding::hash): Likewise. + (concrete_binding::operator==): Likewise. + (concrete_binding::mark_deleted): New. + (concrete_binding::mark_empty): New. + (concrete_binding::is_deleted): New. + (concrete_binding::is_empty): New. + (default_hash_traits::empty_zero_p): Make false. + (symbolic_binding::symbolic_binding): Drop enum binding_kind. + (symbolic_binding::hash): Likewise. + (symbolic_binding::operator==): Likewise. + (symbolic_binding::mark_deleted): New. + (symbolic_binding::mark_empty): New. + (symbolic_binding::is_deleted): New. + (symbolic_binding::is_empty): New. + (binding_map::remove_overlapping_bindings): New decl. + (binding_map::get_overlapping_bindings): New decl. + (binding_cluster::validate): New decl. + (binding_cluster::bind): Drop enum binding_kind. + (binding_cluster::fill_region): New decl. + (binding_cluster::get_binding): Drop enum binding_kind. + (binding_cluster::get_binding_recursive): Likewise. + (binding_cluster::get_overlapping_bindings): Delete. + (store::validate): New decl. + (store::set_value): Drop enum binding_kind. + (store::fill_region): New decl. + (store_manager::get_concrete_binding): Drop enum binding_kind. + (store_manager::get_symbolic_binding): Likewise. + * svalue.cc (svalue::cmp_ptr): Handle SK_REPEATED and + SK_BITS_WITHIN. + (svalue::extract_bit_range): New. + (svalue::maybe_fold_bits_within): New. + (constant_svalue::maybe_fold_bits_within): New. + (unknown_svalue::maybe_fold_bits_within): New. + (unaryop_svalue::maybe_fold_bits_within): New. + (repeated_svalue::repeated_svalue): New. + (repeated_svalue::dump_to_pp): New. + (repeated_svalue::accept): New. + (repeated_svalue::all_zeroes_p): New. + (repeated_svalue::maybe_fold_bits_within): New. + (bits_within_svalue::bits_within_svalue): New. + (bits_within_svalue::dump_to_pp): New. + (bits_within_svalue::maybe_fold_bits_within): New. + (bits_within_svalue::accept): New. + (bits_within_svalue::implicitly_live_p): New. + (compound_svalue::maybe_fold_bits_within): New. + * svalue.h (enum svalue_kind): Add SK_REPEATED and SK_BITS_WITHIN. + (svalue::dyn_cast_repeated_svalue): New. + (svalue::dyn_cast_bits_within_svalue): New. + (svalue::extract_bit_range): New decl. + (svalue::maybe_fold_bits_within): New vfunc decl. + (region_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (region_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make false. + (constant_svalue::maybe_fold_bits_within): New. + (unknown_svalue::maybe_fold_bits_within): New. + (poisoned_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (poisoned_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make + false. + (setjmp_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (setjmp_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make + false. + (unaryop_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (unaryop_svalue::key_t::is_empty): Likewise. + (unaryop_svalue::maybe_fold_bits_within): New. + (default_hash_traits::empty_zero_p): Make + false. + (binop_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (binop_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make + false. + (sub_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (sub_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make + false. + (class repeated_svalue): New. + (is_a_helper ::test): New. + (struct default_hash_traits): New. + (class bits_within_svalue): New. + (is_a_helper ::test): New. + (struct default_hash_traits): New. + (widening_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (widening_svalue::key_t::is_empty): Likewise. + (default_hash_traits::empty_zero_p): Make + false. + (compound_svalue::key_t::mark_empty): Use 2 rather than NULL_TREE. + (compound_svalue::key_t::is_empty): Likewise. + (compound_svalue::maybe_fold_bits_within): New. + (default_hash_traits::empty_zero_p): Make + false. + 2021-06-28 David Malcolm * analyzer.h (byte_offset_t): New typedef. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 01b29b1692c..d861f29d436 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,19 @@ +2021-06-30 Patrick Palka + + * constraint.cc (get_normalized_constraints_from_decl): Use + push_access_scope_guard instead of push_nested_class_guard. + * cp-tree.h (struct push_nested_class_guard): Replace with ... + (struct push_access_scope_guard): ... this. + * pt.c (push_access_scope): When the argument corresponds to + a class type, push the class instead of its context. + (pop_access_scope): Adjust accordingly. + +2021-06-30 Marek Polacek + + PR c++/100975 + DR 2397 + * decl.c (create_array_type_for_decl): Allow array of auto. + 2021-06-29 Jason Merrill * pt.c (instantiate_decl): Only consider partial specializations of diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 51fc7ad647b..c14ff6e73c6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,68 @@ +2021-06-30 Indu Bhagat + + * gcc.dg/debug/ctf/ctf-skip-types-4.c: Add dg-add-options float64 and + float64x. + +2021-06-30 Michael Meissner + + * gcc.target/powerpc/float128-minmax.c: Adjust expected code for + power10. + * lib/target-supports.exp (check_effective_target_has_arch_pwr10): + New. + +2021-06-30 Patrick Palka + + * g++.dg/cpp2a/concepts-access2.C: New test. + +2021-06-30 Marek Polacek + + PR c++/100975 + DR 2397 + * g++.dg/cpp0x/auto24.C: Remove dg-error. + * g++.dg/cpp0x/auto3.C: Adjust dg-error. + * g++.dg/cpp0x/auto42.C: Likewise. + * g++.dg/cpp0x/initlist75.C: Likewise. + * g++.dg/cpp0x/initlist80.C: Likewise. + * g++.dg/diagnostic/auto1.C: Remove dg-error. + * g++.dg/cpp23/auto-array.C: New test. + +2021-06-30 Richard Biener + + PR tree-optimization/101267 + * gfortran.dg/pr101267.f90: New testcase. + +2021-06-30 David Malcolm + + PR analyzer/95006 + * gcc.dg/analyzer/clobbers-1.c: New test. + * gcc.dg/analyzer/clobbers-2.c: New test. + * gcc.dg/analyzer/data-model-1.c (test_26): Mark xfail as fixed. + (test_28): Likewise. + (test_52): Likewise. Add coverage for end of buffer. + * gcc.dg/analyzer/explode-1.c: Add leak warning. + * gcc.dg/analyzer/memset-1.c (test_3): Mark xfail as fixed. + (test_4): Use char. Mark xfail as fixed. + (test_6b): New. + (test_7): Mark xfail as fixed. Add coverage for start of buffer. + (test_8): New. + (test_9): New. + * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: New test. + * gcc.dg/analyzer/symbolic-8.c: New test. + +2021-06-30 Christophe Lyon + + * gcc.dg/debug/ctf/ctf-skip-types-2.c: Add dg-add-options float16. + +2021-06-30 Richard Biener + + PR tree-optimization/101264 + * gfortran.dg/pr101264.f90: New testcase. + +2021-06-30 liuhongt + + PR target/101248 + * gcc.target/i386/pr101248.c: New test. + 2021-06-29 Andrew MacLeod * gcc.dg/pr101254.c: New. diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index faace624b3f..0143d429eb8 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2021-06-30 Gerald Pfeifer + + * make-temp-file.c (usrtmp): Remove. + (choose_tmpdir): Remove use of usrtmp. + 2021-06-28 Indu Bhagat * simple-object.c (handle_lto_debug_sections): Copy over .BTF section. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 91f804b1e53..d7887e52b96 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,45 @@ +2021-06-30 Jonathan Wakely + + PR libstdc++/101258 + * doc/doxygen/user.cfg.in (INPUT): Add . + (COLS_IN_ALPHA_INDEX): Remove obsolete tag. + (PREDEFINED): Add/fix some more macros that need to be expanded. + * include/bits/random.h: Stop Doxygen from documenting internal + implementation details. + * include/bits/random.tcc: Likewise. + * include/bits/this_thread_sleep.h: Fix @file name. + * include/experimental/bits/simd.h: Add to Doxygen group. Do not + document internal implementation details. + * include/experimental/bits/simd_detail.h: Do not document + internal implementation details. + * include/experimental/simd: Define Doxygen groups. + * include/experimental/type_traits: Improve documentation for + the header file. Define groups. Use @since commands. + * include/std/scoped_allocator (scoped_allocator_adaptor): Move + declaration before undocumented region. + * include/std/type_traits (true_type, false_type): Use using + declaration instead of typedef. + (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v) + (is_nothrow_invocable_r_v): Move definitions next to other C++17 + variable templates. + Do not document internal implementation details. Move misplaced + group-end command. Define group for variable templates. + * include/std/variant: Do not document internal implementation + details. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + +2021-06-30 Jonathan Wakely + + * include/experimental/simd: Do not define anything pre-C++17. + +2021-06-30 Jonathan Wakely + + * include/bits/random.tcc [__cpp_inline_variables]: Remove + redundant definitions of static constexpr member variables. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + 2021-06-28 Jonathan Wakely * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove