diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38ec47543ea2..cf57c8916181 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,126 @@ +2022-06-03 Jakub Jelinek + + PR middle-end/30314 + PR middle-end/105777 + * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> + x > stype_max / cst || x < stype_min / cst): New simplification. + +2022-06-03 Aldy Hernandez + + * gimple-range-cache.cc (ranger_cache::range_from_dom): Use + Value_Range. + * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same. + * value-range.h (Value_Range::Value_Range): Implement copy + constructor for Value_Range. + +2022-06-03 Aldy Hernandez + + * value-range.h (struct vrange_traits): Remove. + (is_a): Rewrite without vrange_traits. + (as_a): Same. + +2022-06-03 Aldy Hernandez + + * value-range.cc (vrange::contains_p): Implement. + (vrange::type): Return void. + (vrange::supports_type_p): Implement. + (irange::fits_p): Same. + (vrange::set_undefined): Same. + (irange::set_nonnegative): Same. + (vrange::set_varying): Same. + (vrange::union_): Same. + (unsupported_range::set): Move to vrange. + (unsupported_range::type): Move to vrange. + (vrange::intersect): Implement for varying and undefined. + (vrange::zero_p): Implement. + (unsupported_range::supports_type_p): Move to vrange. + (vrange::nonzero_p): Implement. + (unsupported_range::set_undefined): Move to vrange. + (unsupported_range::set_varying): Same. + (unsupported_range::dump): Same. + (unsupported_range::union_): Same. Implement for varying and + undefined. + (unsupported_range::intersect): Move to vrange. + (unsupported_range::zero_p): Same. + (unsupported_range::nonzero_p): Same. + (unsupported_range::set_nonzero): Same. + (unsupported_range::set_zero): Same. + (unsupported_range::set_nonnegative): Same. + (unsupported_range::fits_p): Same. + * value-range.h (class vrange): Remove abstract markers for most + methods. + (class unsupported_range): Remove most methods as they will now be + inherited from vrange. + +2022-06-03 Aldy Hernandez + + * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for + an object level supports_type_p for irange and a static + Value_Range::supports_type_p. + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_address): Same. + (fold_using_range::range_of_builtin_call): Same. + * gimple-range-fold.h (gimple_range_type): Same. + (gimple_range_ssa_p): Same. + * gimple-range-path.cc (path_range_query::internal_range_of_expr): + Same. + (path_range_query::range_of_stmt): Same. + (path_range_query::add_to_imports): Same. + * gimple-range.cc (gimple_ranger::range_on_edge): Same. + (gimple_ranger::export_global_ranges): Same. + * gimple-ssa-evrp-analyze.cc + (evrp_range_analyzer::record_ranges_from_phis): Same. + * range-op.cc (range_operator::wi_fold): Same. + (range_operator::fold_range): Same. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same. + * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same. + (evaluate_control_stmt_using_entry_checks): Same. + * tree-ssa-threadedge.cc + (hybrid_jt_simplifier::compute_ranges_from_state): Same. + * tree-vrp.cc (supported_types_p): Same. + * value-query.cc (range_query::value_of_expr): Same. + (range_query::value_on_edge): Same. + (range_query::value_of_stmt): Same. + (range_query::get_tree_range): Same. + (get_range_global): Same. + (global_range_query::range_of_expr): Same. + * value-range-equiv.h (class value_range_equiv): Same. + * value-range.cc (irange::supports_type_p): Same. + (unsupported_range::supports_type_p): Same. + * value-range.h (enum value_range_discriminator): Same. + (Value_Range::init): Same. + (Value_Range::supports_type_p): Same. + (irange::supports_type_p): Same. + (irange::supports_p): Same. + (vrange::supports_type_p): Same. + (vrange_allocator::alloc_vrange): Same. + +2022-06-03 Jan Beulich + + * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + * configure.ac: Check for objcopy, producing + ORIGINAL_OBJCOPY_FOR_TARGET. + * configure: Update accordingly. + * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New. + Handle objcopy. + +2022-06-03 Jan Beulich + + * config/i386/mmx.md (mmx_psadbw): Convert to expander. + (*mmx_psadbw): New. Mark as commutative. + * config/i386/sse.md (_psadbw): Convert to expander. + (*_psadbw): New. Mark as commutative. + +2022-06-03 Alexandre Oliva + + PR tree-optimization/105665 + PR tree-optimization/100810 + * tree-ssa-loop-ivopts.cc + (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New. + (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New. + (find_ssa_undef): Check precomputed flag and intervening uses. + (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs. + 2022-06-02 David Malcolm * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 934a3d7ee388..d6a682769fa8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220603 +20220604 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5c8cdb86e447..9b99a2170a08 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,40 @@ +2022-06-03 Patrick Palka + + PR c++/105756 + * typeck.cc (cp_build_binary_op): Don't fold operands + when c_inhibit_evaluation_warnings. + +2022-06-03 Jason Merrill + + PR c++/105761 + * decl.cc (duplicate_decls): Don't copy DECL_TEMPLATE_INFO + from a hidden friend. + +2022-06-03 Patrick Palka + + PR c++/105637 + * tree.cc (maybe_dummy_object): When returning a dummy + object, respect the cv-quals of 'this' if available. + +2022-06-03 Patrick Palka + + PR c++/100374 + * pt.cc (determine_specialization): Compare overall constraints + not just the trailing constraints. + (tsubst_each_template_parm_constraints): Define. + (tsubst_friend_function): Use it. + (tsubst_friend_class): Use it. + (tsubst_template_parm): Don't substitute TEMPLATE_PARM_CONSTRAINTS. + +2022-06-03 Patrick Palka + + PR c++/105797 + * pt.cc (for_each_template_parm_r) : + Don't walk DECL_CONTEXT. + : Likewise. Walk TREE_TYPE. + : Simplify. + (any_template_parm_r) : Don't walk TREE_TYPE. + 2022-06-02 Marek Polacek * constexpr.cc (potential_constant_expression_1): Treat diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d584790d4a80..fd1edc848f1d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2022-06-03 Tobias Burnus + + * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate. + 2022-06-02 David Malcolm * f95-lang.cc (gfc_get_sarif_source_language): New. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a77a0fe4259c..177c82de87ab 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,59 @@ +2022-06-03 Jason Merrill + + * g++.dg/cpp0x/auto56.C: New test. + +2022-06-03 Patrick Palka + + PR c++/105756 + * g++.dg/cpp0x/decltype82.C: New test. + +2022-06-03 Jason Merrill + + PR c++/105761 + * g++.dg/cpp1y/auto-fn64.C: New test. + +2022-06-03 Patrick Palka + + PR c++/105637 + * g++.dg/cpp0x/lambda/lambda-this22.C: New test. + * g++.dg/template/non-dependent23.C: New test. + +2022-06-03 Tobias Burnus + + * gfortran.dg/gomp/scope-6.f90: Fix dg-final scan-tree-dump. + +2022-06-03 Tobias Burnus + + * gfortran.dg/gomp/scope-5.f90: New test. + * gfortran.dg/gomp/scope-6.f90: New test. + +2022-06-03 Patrick Palka + + PR c++/100374 + * g++.dg/cpp2a/concepts-spec2.C: New test. + * g++.dg/cpp2a/concepts-template-parm11.C: New test. + +2022-06-03 Patrick Palka + + PR c++/105797 + * g++.dg/cpp2a/concepts-decltype4.C: New test. + * g++.dg/cpp2a/concepts-memfun3.C: New test. + +2022-06-03 Jakub Jelinek + + PR middle-end/30314 + PR middle-end/105777 + * gcc.dg/tree-ssa/pr30314.c: Add noipa attribute to all functions. + * gcc.dg/tree-ssa/pr105777.c: New test. + * gcc.c-torture/execute/pr30314.c: New test. + * gcc.c-torture/execute/pr105777.c: New test. + +2022-06-03 Alexandre Oliva + + PR tree-optimization/105665 + PR tree-optimization/100810 + * gcc.dg/torture/pr105665.c: New. + 2022-06-02 Marek Polacek PR c++/105803 diff --git a/libcody/ChangeLog b/libcody/ChangeLog index 4688eedba4c8..7a2cacd597b1 100644 --- a/libcody/ChangeLog +++ b/libcody/ChangeLog @@ -1,3 +1,8 @@ +2022-06-03 Alexandre Oliva + + * Makefile.in (revision.stamp): Replace $() and += with more + portable shell constructs. + 2022-03-18 Iain Sandoe * netclient.cc (OpenInet6): Do not provide a dummy port number diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 2fbed181c9c6..39d9277bf4e3 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2022-06-03 Tobias Burnus + + * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y. + * testsuite/libgomp.fortran/scope-2.f90: New test. + 2022-06-02 David Malcolm * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.