+2021-04-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * value-range.cc (irange::irange_set_1bit_anti_range): Add assert.
+ (irange::set): Call irange_set_1bit_anti_range for handling all
+ 1-bit ranges. Fall through on ~[MIN,MAX].
+
+2021-04-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * value-range.cc (irange::legacy_num_pairs): Remove.
+ (irange::invert): Change gcc_assert to gcc_checking_assert.
+ * value-range.h (irange::num_pairs): Adjust for a cached
+ num_pairs(). Also, rename all gcc_assert's to
+ gcc_checking_assert's.
+
+2021-04-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * value-range.cc (irange::operator=): Set m_kind.
+ (irange::copy_to_legacy): Handle varying and undefined sources
+ as a legacy copy since they can be easily copied.
+ (irange::irange_set): Set m_kind.
+ (irange::irange_set_anti_range): Same.
+ (irange::set): Rename normalize_min_max to normalize_kind.
+ (irange::verify_range): Adjust for multi-ranges having the
+ m_kind field set.
+ (irange::irange_union): Set m_kind.
+ (irange::irange_intersect): Same.
+ (irange::invert): Same.
+ * value-range.h (irange::kind): Always return m_kind.
+ (irange::varying_p): Rename to...
+ (irange::varying_comptaible_p): ...this.
+ (irange::undefined_p): Only look at m_kind.
+ (irange::irange): Always set VR_UNDEFINED if applicable.
+ (irange::set_undefined): Always set VR_UNDEFINED.
+ (irange::set_varying): Always set m_kind to VR_VARYING.
+ (irange::normalize_min_max): Rename to...
+ (irange::normalize_kind): ...this.
+
+2021-04-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info):
+ Adjust for constant_p including varying_p.
+ * tree-vrp.c (vrp_prop::finalize): Same.
+ (determine_value_range): Same.
+ * vr-values.c (vr_values::range_of_expr): Same.
+ * value-range.cc (irange::symbolic_p): Do not check varying_p.
+ (irange::constant_p): Same.
+
+2021-04-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * value-range.cc (irange::legacy_lower_bound): Replace
+ !undefined_p check with num_ranges > 0.
+ (irange::legacy_upper_bound): Same.
+ * value-range.h (irange::type): Same.
+ (irange::lower_bound): Same.
+ (irange::upper_bound): Same.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/99956
+ * gimple-loop-interchange.cc (compute_access_stride):
+ Try instantiating the access in a shallower loop nest
+ if instantiating failed.
+ (compute_access_strides): Pass adjustable loop_nest
+ to compute_access_stride.
+
+2021-04-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * doc/sourcebuild.texi (arm_cmse_hw): Document.
+
+2021-04-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/iterators.md (vwcore): Handle V4BF, V8BF.
+
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Tom de Vries <vries@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * omp-offload.c (oacc_validate_dims): Implement
+ '-Wopenacc-parallelism'.
+ * doc/invoke.texi (-Wopenacc-parallelism): Document.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.h (gimplify_build1): Remove.
+ (gimplify_build2): Likewise.
+ (gimplify_build3): Likewise.
+ * tree-cfg.c (gimplify_build1): Move to tree-vect-generic.c.
+ (gimplify_build2): Likewise.
+ (gimplify_build3): Likewise.
+ * tree-vect-generic.c (gimplify_build1): Move from tree-cfg.c.
+ Modernize.
+ (gimplify_build2): Likewise.
+ (gimplify_build3): Likewise.
+ (tree_vec_extract): Use resimplify with following SSA edges.
+ (expand_vector_parallel): Avoid passing NULL size/bitpos
+ to tree_vec_extract.
+ * expr.c (store_constructor): Deal with zero-element CTORs.
+ * match.pd (bit_field_ref <vector CTOR>): Make sure to
+ produce vector constants when possible.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ * tree-complex.c: Include gimple-fold.h.
+ (expand_complex_addition): Use gimple_build.
+ (expand_complex_multiplication_components): Likewise.
+ (expand_complex_multiplication): Likewise.
+ (expand_complex_div_straight): Likewise.
+ (expand_complex_div_wide): Likewise.
+ (expand_complex_division): Likewise.
+ (expand_complex_conjugate): Likewise.
+ (expand_complex_comparison): Likewise.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-phiopt.c (two_value_replacement): Remove use
+ of legacy gimplify_buildN API.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/99473
+ * tree-ssa-phiopt.c (cond_store_replacement): Handle all
+ stores.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ * config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin):
+ Use replace_call_with_value.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-propagate.h (valid_gimple_rhs_p): Remove.
+ (update_gimple_call): Likewise.
+ (update_call_from_tree): Likewise.
+ * tree-ssa-propagate.c (valid_gimple_rhs_p): Remove.
+ (valid_gimple_call_p): Likewise.
+ (move_ssa_defining_stmt_for_defs): Likewise.
+ (finish_update_gimple_call): Likewise.
+ (update_gimple_call): Likewise.
+ (update_call_from_tree): Likewise.
+ (propagate_tree_value_into_stmt): Use replace_call_with_value.
+ * gimple-fold.h (update_gimple_call): Declare.
+ * gimple-fold.c (valid_gimple_rhs_p): Move here from
+ tree-ssa-propagate.c.
+ (update_gimple_call): Likewise.
+ (valid_gimple_call_p): Likewise.
+ (finish_update_gimple_call): Likewise, and simplify.
+ (gimplify_and_update_call_from_tree): Implement
+ update_call_from_tree functionality, avoid excessive
+ push/pop_gimplify_context.
+ (gimple_fold_builtin): Use only gimplify_and_update_call_from_tree.
+ (gimple_fold_call): Likewise.
+ * gimple-ssa-sprintf.c (try_substitute_return_value): Likewise.
+ * tree-ssa-ccp.c (ccp_folder::fold_stmt): Likewise.
+ (pass_fold_builtins::execute): Likewise.
+ (optimize_stack_restore): Use replace_call_with_value.
+ * tree-cfg.c (fold_loop_internal_call): Likewise.
+ * tree-ssa-dce.c (maybe_optimize_arith_overflow): Use
+ only gimplify_and_update_call_from_tree.
+ * tree-ssa-strlen.c (handle_builtin_strlen): Likewise.
+ (handle_builtin_strchr): Likewise.
+ * tsan.c: Include gimple-fold.h instead of tree-ssa-propagate.h.
+
+2021-04-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/100255
+ * vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block,
+ vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove
+ register keywords.
+
2021-04-25 liuhongt <hongtao.liu@intel.com>
PR target/98911
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Tom de Vries <vries@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * c.opt (Wopenacc-parallelism): New.
+
2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
* c.opt (fopenacc-kernels=): Remove.
+2021-04-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/100209
+ * constexpr.c (cxx_fold_indirect_ref): Try to canonicalize the
+ object/offset pair for a POINTER_PLUS_EXPR of a COMPONENT_REF
+ with a negative offset into one whose offset is nonnegative
+ before calling cxx_fold_indirect_ref_1.
+
2021-04-24 Patrick Palka <ppalka@redhat.com>
PR c++/89565
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Tom de Vries <vries@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * lang.opt (Wopenacc-parallelism): New.
+
2021-04-24 Harald Anlauf <anlauf@gmx.de>
PR fortran/100154
+2021-04-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/100209
+ * g++.dg/cpp1y/constexpr-base1.C: New test.
+ * g++.dg/cpp1y/constexpr-ptrsub1.C: New test.
+
+2021-04-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/goacc/classify-serial.f95:
+ Use [Ww]arning in dg-bogus as FE diagnostic and default
+ diagnostic differ and the result depends on ENABLE_OFFLOAD.
+ * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+ * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+
+2021-04-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/goacc/classify-serial.f95:
+ Correct spelling in dg-bogus to match -Wopenacc-parallelism.
+ * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+ * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/99956
+ * gfortran.dg/pr99956.f: New testcase.
+
+2021-04-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/cmse/bitfield-1.c: Remove dg-do.
+ * gcc.target/arm/cmse/bitfield-2.c: Likewise.
+ * gcc.target/arm/cmse/bitfield-3.c: Likewise.
+ * gcc.target/arm/cmse/cmse-16.c: Likewise.
+ * gcc.target/arm/cmse/struct-1.c: Likewise.
+ * gcc.target/arm/cmse/cmse.exp: Set dg-do-what-default depending
+ on arm_cmse_hw.
+ * lib/target-supports.exp (check_effective_target_arm_cmse_hw):
+ New.
+
+2021-04-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr84877.c: XFAIL on SPARC as well.
+
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Tom de Vries <vries@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * c-c++-common/goacc/diag-parallelism-1.c: New.
+ * c-c++-common/goacc/acc-icf.c: Specify '-Wopenacc-parallelism',
+ and match diagnostics, as appropriate.
+ * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise.
+ * c-c++-common/goacc/classify-kernels.c: Likewise.
+ * c-c++-common/goacc/classify-parallel.c: Likewise.
+ * c-c++-common/goacc/classify-routine.c: Likewise.
+ * c-c++-common/goacc/classify-serial.c: Likewise.
+ * c-c++-common/goacc/kernels-decompose-1.c: Likewise.
+ * c-c++-common/goacc/kernels-decompose-2.c: Likewise.
+ * c-c++-common/goacc/parallel-dims-1.c: Likewise.
+ * c-c++-common/goacc/parallel-reduction.c: Likewise.
+ * c-c++-common/goacc/pr70688.c: Likewise.
+ * c-c++-common/goacc/routine-1.c: Likewise.
+ * c-c++-common/goacc/routine-level-of-parallelism-2.c: Likewise.
+ * c-c++-common/goacc/uninit-dim-clause.c: Likewise.
+ * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
+ * gfortran.dg/goacc/classify-kernels.f95: Likewise.
+ * gfortran.dg/goacc/classify-parallel.f95: Likewise.
+ * gfortran.dg/goacc/classify-routine.f95: Likewise.
+ * gfortran.dg/goacc/classify-serial.f95: Likewise.
+ * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise.
+ * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise.
+ * gfortran.dg/goacc/parallel-tree.f95: Likewise.
+ * gfortran.dg/goacc/routine-4.f90: Likewise.
+ * gfortran.dg/goacc/routine-level-of-parallelism-1.f90: Likewise.
+ * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise.
+ * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise.
+ * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise.
+
+2021-04-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/99473
+ * gcc.dg/tree-ssa/pr99473-1.c: New testcase.
+
2021-04-25 liuhongt <hongtao.liu@intel.com>
PR target/98911
+2021-04-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
+ Use [Ww]arning in dg-bogus as FE diagnostic and default
+ diagnostic differ and the result depends on ENABLE_OFFLOAD.
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
+
+2021-04-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
+ Correct spelling in dg-bogus to match -Wopenacc-parallelism.
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
+
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Tom de Vries <vries@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
+ '-Wopenacc-parallelism', and match diagnostics, as appropriate.
+ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
+
+2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
+ compile with '-w'.
+ * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
+ * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
+
2021-04-22 Richard Biener <rguenther@suse.de>
* testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
+2021-04-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/internet (tcp::no_delay, v6_only)
+ (unicast::hops, multicast::hops, multicast::enable_loopback):
+ Change access of base class and static data members. Add
+ using-declaration for __socket_crtp::operator=(_Tp).
+ (multicast::__mcastopt): New type.
+ (multicast::join_group, multicast::leave_group): Derive from
+ __mcastopt for common implementation.
+ * include/experimental/socket: Add comment.
+ * testsuite/experimental/net/internet/socket/opt.cc: New test.
+ * testsuite/experimental/net/socket/socket_base.cc: Check for
+ protected constructor/destructor of socket_base. Check for
+ explicit constructors of socket option classes.
+
+2021-04-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/bits/net.h (__socket_base): Add
+ bool template parameter to allow BooleanSocketOption and
+ IntegerSocketOption to have different __socket_base<int>
+ base classes.
+ (__socket_base<bool>): Adjust base class.
+ (__socket_base<int>): Add partial specialization.
+ (__socket_crtp::operator=(_Tp)): Add noexcept-specifier.
+ * include/experimental/socket (socket_base::broadcast)
+ (socket_base::debug, socket_base::do_not_route)
+ (socket_base::keep_alive, socket_base::linger)
+ (socket_base::out_of_band_inline)
+ (socket_base::receive_buffer_size)
+ (socket_base::receive_low_watermark)
+ (socket_base::reuse_address, socket_base::send_buffer_size)
+ (socket_base::send_low_watermark): Add using-declaration for
+ __socket_crtp::operator=(_Tp).
+ * testsuite/experimental/net/socket/socket_base.cc: Check
+ properties of socket option types.
+
+2021-04-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/internet (resolver_base::flags): Remove
+ enumerators. Initialize constants directly with desired values.
+ Make all operators constexpr and noexcept.
+ * testsuite/experimental/net/internet/resolver/base.cc: Use
+ __gnu_test::test_bitmask_values for bitmask type. Check
+ construction and destruction is protected.
+
+2021-04-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/semaphore_base.h: Include <exception> and <errno.h>.
+
+2021-04-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/100259
+ * include/experimental/internet (net::ip::make_error_code)
+ (net::ip::make_error_condition, net::ip::make_network_v4)
+ (net::ip::operator==(const udp&, const udp&)): Add 'inline'.
+
2021-04-24 David Edelsohn <dje.gcc@gmail.com>
* testsuite/lib/dg-options.exp (atomic_link_flags): New.