From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id A9CF73858404; Fri, 9 Sep 2022 00:18:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A9CF73858404 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1662682732; bh=Lk8YaIMx3Bxx7WCvh63SxYHSHt4QiZXZZV7cyKIM8tY=; h=From:To:Subject:Date:From; b=Z1dXlKV+mXXf2c4zRnOgBynXs9tmQtH2v1JC3GCk0n0DI3Wo+aaPBQhg4BqRQc+5a YcrRtunay+4bEBos6dRNTg623Y0VP61pL6+O5Z0iXoTLoYOvmzplu2ywFtANvve49Q F3Gfm5U+5uSAqF23M/XU4gyEKQmkE4l2JuBTau7U= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-2554] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: a0f83501182de68ff038f3c69da549e6c80bb6bd X-Git-Newrev: 2e7ad70c4abacbd2614358cf057397620d641b0a Message-Id: <20220909001852.A9CF73858404@sourceware.org> Date: Fri, 9 Sep 2022 00:18:52 +0000 (GMT) List-Id: https://gcc.gnu.org/g:2e7ad70c4abacbd2614358cf057397620d641b0a commit r13-2554-g2e7ad70c4abacbd2614358cf057397620d641b0a Author: GCC Administrator Date: Fri Sep 9 00:18:05 2022 +0000 Daily bump. Diff: --- gcc/ChangeLog | 134 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 51 ++++++++++++++++++ gcc/cp/ChangeLog | 17 ++++++ gcc/fortran/ChangeLog | 7 +++ gcc/testsuite/ChangeLog | 54 +++++++++++++++++++ libcpp/ChangeLog | 8 +++ libgomp/ChangeLog | 125 ++++++++++++++++++++++++++++++++++++++++++++ libstdc++-v3/ChangeLog | 60 ++++++++++++++++++++++ 9 files changed, 457 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 17032b57212..73748ca6913 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,137 @@ +2022-09-08 Jonathan Wakely + + PR c++/106838 + * doc/extend.texi (Type Traits): Fix requirements. Document + __is_aggregate and __is_final. + +2022-09-08 Tim Lange + + PR analyzer/106625 + * doc/invoke.texi: + State that the checker also reasons about symbolic values. + +2022-09-08 Richard Sandiford + + PR tree-optimization/106886 + * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): + Fix copying of scalar stmts. + +2022-09-08 Chung-Lin Tang + + * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define. + +2022-09-08 Richard Biener + + PR middle-end/106870 + * gimple-harden-conditionals.cc (insert_check_and_trap): + Set the control-altering flag on the built IFN_TRAP. + * gimple.cc (gimple_build_builtin_unreachable): Likewise. + * tree-cfg.cc (handle_abnormal_edges): Set the control-altering + flag on the .ABNORMAL_DISPATCHER call. + * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid + resetting the control altering flag for ECF_NORETURN calls. + (cleanup_control_flow_bb): Set the control altering flag on + discovered noreturn calls. + * symtab-thunks.cc (expand_thunk): Set the control altering + flag for the noreturn tailcall case. + * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume + calls. + +2022-09-08 Jakub Jelinek + + * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument. + Add doacross(sink:omp_cur_iteration-1) support. + (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1]. + Adjust expand_omp_ordered_sink caller. + (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is + non-NULL, set that variable to true at the start of outermost + non-collapsed loop and set it to false at the end of innermost + ordered loop. + (expand_omp_for_generic): If fd->ordered, allocate + 1 + (fd->ordered - fd->collapse) further elements in counts array. + Copy to counts + 2 + fd->ordered the counts of fd->collapse .. + fd->ordered - 1 loop if any. + +2022-09-08 Richard Biener + + PR tree-optimization/106881 + * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom): + Add only non-fallthru edges and avoid the same set of edges + as the caller does. + +2022-09-08 Aldy Hernandez + + * gimple-range-fold.cc + (fold_using_range::range_of_builtin_int_call): Use fpclassify like API. + * range-op-float.cc (finite_operand_p): Same. + (finite_operands_p): Same. + (foperator_lt::fold_range): Same. + (foperator_le::fold_range): Same. + (foperator_gt::fold_range): Same. + (foperator_ge::fold_range): Same. + (foperator_unordered::fold_range): Same. + (foperator_unordered::op1_range): Same. + (foperator_ordered::fold_range): Same. + * value-range.cc (frange::set_nan): Same. + (frange::set_signbit): Same. + (frange::union_): Same. + (frange::intersect): Same. + (frange::operator==): Same. + (frange::singleton_p): Same. + (frange::verify_range): Same. + (range_tests_nan): Same. + (range_tests_floats): Same. + * value-range.h(frange::known_finite): New. + (frange::maybe_inf): New. + (frange::known_inf): New. + (frange::maybe_nan): New. + (frange::known_nan): New. + (frange::known_signbit): New. + +2022-09-08 Iain Buclaw + + * config/darwin-d.cc: Include tm.h. + * config/dragonfly-d.cc: Likewise. + * config/freebsd-d.cc: Remove memmodel.h. + * config/glibc-d.cc: Likewise. + * config/netbsd-d.cc: Include tm.h. + * config/openbsd-d.cc: Likewise. + * config/sol2-d.cc: Likewise. + +2022-09-08 Christophe Lyon + + * config/arm/mve.md (mve_vqshluq_n_s): Use + MVE_pred/MVE_constraint instead of mve_imm_7/Ra. + (mve_vqshluq_m_n_s): Likewise. + (mve_vqrshrnbq_n_): Use MVE_pred3/MVE_constraint3 + instead of mve_imm_8/Rb. + (mve_vqrshrunbq_n_s): Likewise. + (mve_vqrshrntq_n_): Likewise. + (mve_vqrshruntq_n_s): Likewise. + (mve_vrshrnbq_n_): Likewise. + (mve_vrshrntq_n_): Likewise. + (mve_vqrshrnbq_m_n_): Likewise. + (mve_vqrshrntq_m_n_): Likewise. + (mve_vrshrnbq_m_n_): Likewise. + (mve_vrshrntq_m_n_): Likewise. + (mve_vqrshrunbq_m_n_s): Likewise. + (mve_vsriq_n_): Likewise. + +2022-09-08 Jiufu Guo + + * config/rs6000/rs6000.md (splitter for set to and_mask constants): + Use int_reg_operand (instead of int_reg_operand_not_pseudo). + (splitter for multi-insn constant loads): Ditto. + +2022-09-08 Sebastian Huber + + * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if + -mvrsave is present. + * config/rs6000/t-rtems: Add -mvrsave multilib variants for + -mcpu=e6500. + 2022-09-07 Martin Liska * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 2e552cf7ab7..56639c30a8b 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220908 +20220909 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 3ad3096e161..7263e741abd 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,54 @@ +2022-09-08 Tim Lange + + PR analyzer/106625 + * analyzer.h (region_offset): Eliminate m_is_symbolic member. + * region-model-impl-calls.cc (region_model::impl_call_realloc): + Refine implementation to be more precise. + * region-model.cc (class symbolic_past_the_end): + Abstract diagnostic class to complain about accesses past the end + with symbolic values. + (class symbolic_buffer_overflow): + Concrete diagnostic class to complain about buffer overflows with + symbolic values. + (class symbolic_buffer_overread): + Concrete diagnostic class to complain about buffer overreads with + symbolic values. + (region_model::check_symbolic_bounds): New function. + (maybe_get_integer_cst_tree): New helper function. + (region_model::check_region_bounds): + Add call to check_symbolic_bounds if offset is not concrete. + (region_model::eval_condition_without_cm): + Add support for EQ_EXPR and GT_EXPR with binaryop_svalues. + (is_positive_svalue): New hleper function. + (region_model::symbolic_greater_than): + New function to handle GT_EXPR comparisons with symbolic values. + (region_model::structural_equality): New function to compare + whether two svalues are structured the same, i.e. evaluate to + the same value. + (test_struct): Reflect changes to region::calc_offset. + (test_var): Likewise. + (test_array_2): Likewise and add selftest with symbolic i. + * region-model.h (class region_model): Add check_symbolic_bounds, + symbolic_greater_than and structural_equality. + * region.cc (region::get_offset): + Reflect changes to region::calc_offset. + (region::calc_offset): + Compute the symbolic offset if the offset is not concrete. + (region::get_relative_symbolic_offset): New function to return the + symbolic offset in bytes relative to its parent. + (field_region::get_relative_symbolic_offset): Likewise. + (element_region::get_relative_symbolic_offset): Likewise. + (offset_region::get_relative_symbolic_offset): Likewise. + (bit_range_region::get_relative_symbolic_offset): Likewise. + * region.h: Add get_relative_symbolic_offset. + * store.cc (binding_key::make): + Reflect changes to region::calc_offset. + (binding_map::apply_ctor_val_to_range): Likewise. + (binding_map::apply_ctor_pair_to_child_region): Likewise. + (binding_cluster::bind_compound_sval): Likewise. + (binding_cluster::get_any_binding): Likewise. + (binding_cluster::maybe_get_compound_binding): Likewise. + 2022-09-05 Tim Lange * region-model-impl-calls.cc (region_model::impl_call_strcpy): diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 02aecfc5cf6..0f374234018 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,20 @@ +2022-09-08 Jonathan Wakely + + PR c++/106838 + * class.cc (type_has_virtual_destructor): Return false for + union types. + * semantics.cc (check_trait_type): Add KIND parameter to support + different sets of requirements. + (finish_trait_expr): Pass KIND argument for relevant traits. + +2022-09-08 Patrick Palka + + PR c++/99130 + * decl2.cc (maybe_instantiate_decl): Adjust function comment. + Check VAR_OR_FUNCTION_DECL_P. Pull out the disjunction into ... + (mark_used): ... here, removing the decl_maybe_constant_var_p + part of it. + 2022-09-07 Jason Merrill PR c++/106793 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index ebd29cd4148..e6c4c2c361b 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2022-09-08 Tobias Burnus + + PR fortran/106670 + * scanner.cc (skip_fixed_omp_sentinel): Add -Wsurprising warning + for 'omx' sentinels with -fopenmp. + * invoke.texi (-Wsurprising): Document additional warning case. + 2022-09-06 Tobias Burnus * openmp.cc (resolve_omp_clauses): Remove ordered/linear diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7b47665412a..b027c5a5d03 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,57 @@ +2022-09-08 Tobias Burnus + + PR fortran/106670 + * c-c++-common/gomp/ompx-1.c: New test. + * c-c++-common/gomp/ompx-2.c: New test. + * g++.dg/gomp/ompx-attrs-1.C: New test. + * gfortran.dg/gomp/ompx-1.f90: New test. + * gfortran.dg/gomp/omx-1.f: New test. + * gfortran.dg/gomp/omx-2.f: New test. + +2022-09-08 Jonathan Wakely + + PR c++/106838 + * g++.dg/ext/array4.C: Fix invalid use of __is_constructible. + * g++.dg/ext/unary_trait_incomplete.C: Fix tests for traits with + different requirements. + +2022-09-08 Tim Lange + + PR analyzer/106625 + * gcc.dg/analyzer/data-model-1.c: Change expected result. + * gcc.dg/analyzer/out-of-bounds-5.c: New test. + * gcc.dg/analyzer/out-of-bounds-realloc-grow.c: New test. + * gcc.dg/analyzer/symbolic-gt-1.c: New test. + +2022-09-08 Richard Sandiford + + PR tree-optimization/106886 + * gcc.dg/vect/bb-slp-layout-21.c: New test. + +2022-09-08 Patrick Palka + + PR c++/99209 + * g++.dg/cpp2a/lambda-uneval17.C: New test. + +2022-09-08 Patrick Palka + + PR c++/99130 + * g++.dg/cpp0x/constexpr-decltype5.C: New test. + +2022-09-08 Jakub Jelinek + + * c-c++-common/gomp/doacross-7.c: New test. + +2022-09-08 Richard Biener + + PR tree-optimization/106881 + * gcc.dg/uninit-pr106881.c: New testcase. + +2022-09-08 Richard Biener + + PR testsuite/106872 + * gcc.dg/uninit-pred-12.c: Adjust. + 2022-09-07 Jason Merrill PR c++/106793 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 625b4e54cd8..5984915a49e 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,11 @@ +2022-09-08 Lewis Hyatt + + * line-map.cc (location_adhoc_data_update): Remove reliance on + undefined behavior. + (get_combined_adhoc_loc): Likewise. + (rebuild_location_adhoc_htab): Fix issue where the htab was not + properly updated. + 2022-09-07 Joseph Myers * include/cpplib.h (struct cpp_options): Add true_false. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index ddf0729dfc5..887c59bd9a0 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,128 @@ +2022-09-08 Tobias Burnus + + PR fortran/106670 + * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry. + +2022-09-08 Tobias Burnus + + * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind + section; move OpenMP Context Selectors from ... + (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and + 'nvptx' sections. + +2022-09-08 Marcel Vollweiler + + * config/gcn/icv-device.c (omp_get_default_device): Return device- + specific ICV. + (omp_get_max_teams): Added for GCN devices. + (omp_set_num_teams): Likewise. + (ialias): Likewise. + * config/nvptx/icv-device.c (omp_get_default_device): Return device- + specific ICV. + (omp_get_max_teams): Added for NVPTX devices. + (omp_set_num_teams): Likewise. + (ialias): Likewise. + * env.c (struct gomp_icv_list): New struct to store entries of initial + ICV values. + (struct gomp_offload_icv_list): New struct to store entries of device- + specific ICV values that are copied to the device and back. + (struct gomp_default_icv_values): New struct to store default values of + ICVs according to the OpenMP standard. + (parse_schedule): Generalized for different variants of OMP_SCHEDULE. + (print_env_var_error): Function that prints an error for invalid values + for ICVs. + (parse_unsigned_long_1): Removed getenv. Generalized. + (parse_unsigned_long): Likewise. + (parse_int_1): Likewise. + (parse_int): Likewise. + (parse_int_secure): Likewise. + (parse_unsigned_long_list): Likewise. + (parse_target_offload): Likewise. + (parse_bind_var): Likewise. + (parse_stacksize): Likewise. + (parse_boolean): Likewise. + (parse_wait_policy): Likewise. + (parse_allocator): Likewise. + (omp_display_env): Extended to output different variants of environment + variables. + (print_schedule): New helper function for omp_display_env which prints + the values of run_sched_var. + (print_proc_bind): New helper function for omp_display_env which prints + the values of proc_bind_var. + (enum gomp_parse_type): Collection of types used for parsing environment + variables. + (ENTRY): Preprocess string lengths of environment variables. + (OMP_VAR_CNT): Preprocess table size. + (OMP_HOST_VAR_CNT): Likewise. + (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device + number. + (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. + (gomp_set_icv_flag): Sets a flag for a particular ICV. + (print_device_specific_icvs): New helper function for omp_display_env to + print device specific ICV values. + (get_device_num): New helper function for parse_device_specific. + Extracts the device number from an environment variable name. + (get_icv_member_addr): Gets the memory address for a particular member + of an ICV struct. + (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. + (initialize_icvs): New function to initialize a gomp_initial_icvs + struct. + (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list. + (startswith): Checks if a string starts with a given prefix. + (initialize_env): Extended to parse the new syntax of environment + variables. + * icv-device.c (omp_get_max_teams): Added. + (ialias): Likewise. + (omp_set_num_teams): Likewise. + * icv.c (omp_set_num_teams): Moved to icv-device.c. + (omp_get_max_teams): Likewise. + (ialias): Likewise. + * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed. + (GOMP_ADDITIONAL_ICVS): New target-side struct that + holds the designated ICVs of the target device. + * libgomp.h (enum gomp_icvs): Collection of ICVs. + (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and + no suffix. + (enum gomp_env_suffix): Collection of possible suffixes of environment + variables. + (struct gomp_initial_icvs): Contains all ICVs for which we need to store + initial values. + (struct gomp_default_icv):New struct to hold ICVs for which we need + to store initial values. + (struct gomp_icv_list): Definition of a linked list that is used for + storing ICVs for the devices and also for _DEV, _ALL, and without + suffix. + (struct gomp_offload_icvs): New struct to hold ICVs that are copied to + a device. + (struct gomp_offload_icv_list): Definition of a linked list that holds + device-specific ICVs that are copied to devices. + (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list. + (gomp_get_icv_flag): Returns if a flag for a particular ICV is set. + * libgomp.texi: Updated. + * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read + further ICVs from the offload image. + * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise. + * target.c (gomp_get_offload_icv_item): Get a list item of + gomp_offload_icv_list. + (get_gomp_offload_icvs): New. Returns the ICV values + depending on the device num and the variable hierarchy. + (gomp_load_image_to_device): Extended to copy further ICVs to a device. + * testsuite/libgomp.c-c++-common/icv-5.c: New test. + * testsuite/libgomp.c-c++-common/icv-6.c: New test. + * testsuite/libgomp.c-c++-common/icv-7.c: New test. + * testsuite/libgomp.c-c++-common/icv-8.c: New test. + * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test. + * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test. + +2022-09-08 Jakub Jelinek + + * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now + fully supported. + * testsuite/libgomp.c/doacross-4.c: New test. + * testsuite/libgomp.c/doacross-5.c: New test. + * testsuite/libgomp.c/doacross-6.c: New test. + * testsuite/libgomp.c/doacross-7.c: New test. + 2022-09-05 Tobias Burnus * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 958f6de7299..578173519de 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,63 @@ +2022-09-08 François Dumont + + * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New. + (__gnu_test::malloc_info): New, replace mallinfo on current platform + supporting it and use mallinfo2 when glibc >= 2.33. + +2022-09-08 Jonathan Wakely + + PR c++/106838 + * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: + Prune additional errors from front-end. + * testsuite/20_util/is_move_constructible/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: + Likewise. + * testsuite/20_util/is_swappable_with/incomplete_neg.cc: + Likewise. + +2022-09-08 Jonathan Wakely + + * include/c_global/cstddef (byte): Add always_inline attribute + to all operator overloads. + (to_integer): Add always_inline attribute. + +2022-09-08 Thomas Rodgers + Jakub Jelinek + Jonathan Wakely + + * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding): + New function. + (__atomic_impl::clear_padding): Likewise. + (__atomic_impl::__compare_exchange): Likewise. + (__atomic_impl::compare_exchange_weak): Delegate to + __compare_exchange. + (__atomic_impl::compare_exchange_strong): Likewise. + * include/std/atomic (atomic::atomic(T)): Clear padding when + possible in a constexpr function. + (atomic::store): Clear padding. + (atomic::exchange): Likewise. + (atomic::compare_exchange_weak): Use __compare_exchange. + (atomic::compare_exchange_strong): Likewise. + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New + test. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + New test. + +2022-09-08 Jonathan Wakely + + * include/std/system_error (__adl_only::make_error_code): Add + deleted function. + (__adl_only::make_error_condition): Likewise. + (error_code::error_code(ErrorCodeEnum)): Add using-declaration + for deleted function. + (error_condition::error_condition(ErrorConditionEnum)): + Likewise. + * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test. + * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test. + 2022-09-07 Jonathan Wakely * include/std/barrier: Add missing runtime exception.