public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-18 14:29 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-18 14:29 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 6762 bytes --]

https://gcc.gnu.org/g:deee2322a2b36c5f03802e63895a7ce9e814969c

commit deee2322a2b36c5f03802e63895a7ce9e814969c
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Tue Aug 18 00:16:26 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |  2 +-
 gcc/analyzer/ChangeLog  | 18 ++++++++++++++++++
 gcc/fortran/ChangeLog   | 11 +++++++++++
 gcc/testsuite/ChangeLog | 25 +++++++++++++++++++++++++
 libgfortran/ChangeLog   |  5 +++++
 libstdc++-v3/ChangeLog  | 15 +++++++++++++++
 7 files changed, 125 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9cf1f9733e7..59d7ae48134 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,53 @@
+2020-08-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-builtin.def (__builtin_ia32_bextri_u32)
+	(__builtin_ia32_bextri_u64): Use CODE_FOR_nothing.
+	* config/i386/i386.md (@tbm_bextri_<mode>):
+	Implement as parametrized name pattern.
+	(@rdrand<mode>): Ditto.
+	(@rdseed<mode>): Ditto.
+	* config/i386/i386-expand.c (ix86_expand_builtin)
+	[case IX86_BUILTIN_BEXTRI32, case IX86_BUILTIN_BEXTRI64]:
+	Update for parameterized name patterns.
+	[case IX86_BUILTIN_RDRAND16_STEP, case IX86_BUILTIN_RDRAND32_STEP]
+	[case IX86_BUILTIN_RDRAND64_STEP]: Ditto.
+	[case IX86_BUILTIN_RDSEED16_STEP, case IX86_BUILTIN_RDSEED32_STEP]
+	[case IX86_BUILTIN_RDSEED64_STEP]: Ditto.
+
+2020-08-17  Aldy Hernandez  <aldyh@redhat.com>
+
+	* vr-values.c (vr_values::get_value_range): Add stmt param.
+	(vr_values::extract_range_from_comparison): Same.
+	(vr_values::extract_range_from_assignment): Pass stmt to
+	extract_range_from_comparison.
+	(vr_values::adjust_range_with_scev): Pass stmt to get_value_range.
+	(simplify_using_ranges::vrp_evaluate_conditional): Add stmt param.
+	Pass stmt to get_value_range.
+	(simplify_using_ranges::vrp_visit_cond_stmt): Pass stmt to
+	get_value_range.
+	(simplify_using_ranges::simplify_abs_using_ranges): Same.
+	(simplify_using_ranges::simplify_div_or_mod_using_ranges): Same.
+	(simplify_using_ranges::simplify_bit_ops_using_ranges): Same.
+	(simplify_using_ranges::simplify_cond_using_ranges_1): Same.
+	(simplify_using_ranges::simplify_switch_using_ranges): Same.
+	(simplify_using_ranges::simplify_float_conversion_using_ranges): Same.
+	* vr-values.h (class vr_values): Add stmt arg to
+	vrp_evaluate_conditional_warnv_with_ops.
+	Add stmt arg to extract_range_from_comparison and get_value_range.
+	(simplify_using_ranges::get_value_range): Add stmt arg.
+
+2020-08-17  liuhongt  <hongtao.liu@intel.com>
+
+	PR target/96350
+	* config/i386/i386.c (ix86_legitimate_constant_p): Return
+	false for ENDBR immediate.
+	(ix86_legitimate_address_p): Ditto.
+	* config/i386/predicates.md
+	(x86_64_immediate_operand): Exclude ENDBR immediate.
+	(x86_64_zext_immediate_operand): Ditto.
+	(x86_64_dwzext_immediate_operand): Ditto.
+	(ix86_endbr_immediate_operand): New predicate.
+
 2020-08-16  Roger Sayle  <roger@nextmovesoftware.com>
 
 	* simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]:
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 86cec8a47dc..3b29b8dc124 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200817
+20200818
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 906796523e3..adf20ed460a 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,21 @@
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96644
+	* region-model-manager.cc (get_region_for_unexpected_tree_code):
+	Handle ctxt being NULL.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96639
+	* region.cc (region::get_subregions_for_binding): Check for "type"
+	being NULL.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96642
+	* store.cc (get_svalue_for_ctor_val): New.
+	(binding_map::apply_ctor_to_region): Call it.
+
 2020-08-14  David Malcolm  <dmalcolm@redhat.com>
 
 	PR testsuite/96609
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f734d3cb49a..25f968e9090 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,14 @@
+2020-08-17  Martin Liska  <mliska@suse.cz>
+
+	* openmp.c (resolve_omp_clauses): Add static assert
+	for OMP_LIST_NUM and size of clause_names array.
+	Remove check that is always true.
+
+2020-08-17  Martin Liska  <mliska@suse.cz>
+
+	* openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
+	names.
+
 2020-08-13  Andre Vehreschild  <vehre@gcc.gnu.org>
 
 	PR fortran/93671
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9e4e5891b17..b0c4bc96d7d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,28 @@
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96644
+	* gcc.dg/analyzer/pr96644.c: New test.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96639
+	* gcc.dg/analyzer/pr96639.c: New test.
+
+2020-08-17  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96642
+	* gcc.dg/analyzer/pr96642.c: New test.
+
+2020-08-17  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* gcc.target/i386/rdrand-1.c (dg-final): Update scan string.
+	* gcc.target/i386/rdrand-2.c (dg-final): Ditto.
+	* gcc.target/i386/rdrand-3.c (dg-final): Ditto.
+
+2020-08-17  liuhongt  <hongtao.liu@intel.com>
+
+	* gcc.target/i386/endbr_immediate.c: New test.
+
 2020-08-14  Martin Sebor  <msebor@redhat.com>
 
 	PR middle-end/78257
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index ee78d806fae..9b868d3fe23 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-17  David Edelsohn  <dje.gcc@gmail.com>
+	    Clement Chigot  <clement.chigot@atos.net>
+
+	* config/t-aix: Add complementary mode object file to libcaf_single.a.
+
 2020-08-03  Tobias Burnus  <tobias@codesourcery.com>
 
 	* caf/single.c (_gfortran_caf_lock): Fix typo.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fe6884bf337..177acf0d0d8 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2020-08-17  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/55713
+	PR libstdc++/71096
+	PR libstdc++/93147
+	* include/std/tuple [__has_cpp_attribute(no_unique_address)]
+	(_Head_base<Idx, Head, true>): New definition of the partial
+	specialization, using [[no_unique_address]] instead of
+	inheritance.
+	* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
+	output.
+	* testsuite/20_util/tuple/comparison_operators/93147.cc: New test.
+	* testsuite/20_util/tuple/creation_functions/55713.cc: New test.
+	* testsuite/20_util/tuple/element_access/71096.cc: New test.
+
 2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
 
 	* testsuite/lib/libstdc++.exp: Use the new option


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-17 19:46 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-17 19:46 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 12628 bytes --]

https://gcc.gnu.org/g:661ee09b8ba949e88fcf085784e846b0254f0ac0

commit 661ee09b8ba949e88fcf085784e846b0254f0ac0
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Aug 15 00:16:22 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           |  68 ++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/analyzer/ChangeLog  |  19 ++++++++
 gcc/cp/ChangeLog        | 123 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog |  34 +++++++++++++
 libcc1/ChangeLog        |  15 ++++++
 libstdc++-v3/ChangeLog  |   5 ++
 7 files changed, 265 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e4c0a786ff6..bb7a5750b67 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,71 @@
+2020-08-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78257
+	* builtins.c (expand_builtin_memory_copy_args): Rename called function.
+	(expand_builtin_stpcpy_1): Remove argument from call.
+	(expand_builtin_memcmp): Rename called function.
+	(inline_expand_builtin_bytecmp): Same.
+	* expr.c (convert_to_bytes): New function.
+	(constant_byte_string): New function (formerly string_constant).
+	(string_constant): Call constant_byte_string.
+	(byte_representation): New function.
+	* expr.h (byte_representation): Declare.
+	* fold-const-call.c (fold_const_call): Rename called function.
+	* fold-const.c (c_getstr): Remove an argument.
+	(getbyterep): Define a new function.
+	* fold-const.h (c_getstr): Remove an argument.
+	(getbyterep): Declare a new function.
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Rename callee.
+	(gimple_fold_builtin_string_compare): Same.
+	(gimple_fold_builtin_memchr): Same.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+	* doc/analyzer.texi (Overview): Add tip about how to get a
+	gimple dump if the analyzer ICEs.
+
+2020-08-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-builtin.def (__builtin_ia32_llwpcb)
+	(__builtin_ia32_slwpcb, __builtin_ia32_lwpval32)
+	(__builtin_ia32_lwpval64, __builtin_ia32_lwpins32)
+	(__builtin_ia32_lwpins64): Use CODE_FOR_nothing.
+	* config/i386/i386.md (@lwp_llwpcb<mode>):
+	Implement as parametrized name pattern.
+	(@lwp_slwpcb<mode>): Ditto.
+	(@lwp_lwpval<mode>): Ditto.
+	(@lwp_lwpins<mode>): Ditto.
+	* config/i386/i386-expand.c (ix86_expand_special_args_builtin)
+	[case VOID_FTYPE_UINT_UINT_UINT, case VOID_FTYPE_UINT64_UINT_UINT]
+	[case UCHAR_FTYPE_UINT_UINT_UINT, case UCHAR_FTYPE_UINT64_UINT_UINT]:
+	Remove.
+	(ix86_expand_builtin)
+	[ case IX86_BUILTIN_LLWPCB, case IX86_BUILTIN_LLWPCB]:
+	Update for parameterized name patterns.
+	[case IX86_BUILTIN_LWPVAL32, case IX86_BUILTIN_LWPVAL64]
+	[case IX86_BUILTIN_LWPINS32, case IX86_BUILTIN_LWPINS64]: Expand here.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+	* common.opt: Add new option -fdiagnostics-plain-output.
+	* doc/invoke.texi: Document it.
+	* opts-common.c (decode_cmdline_options_to_array): Implement it.
+	(decode_cmdline_option): Add missing const qualifier to argv.
+
+2020-08-14  Jakub Jelinek  <jakub@redhat.com>
+	    Jonathan Wakely  <jwakely@redhat.com>
+	    Jonathan Wakely   <jwakely@redhat.com>
+
+	* system.h: Include type_traits.
+	* vec.h (vec<T, A, vl_embed>::embedded_size): Use offsetof and asserts
+	on vec_stdlayout, which is conditionally a vec (for standard layout T)
+	and otherwise vec_embedded.
+
+2020-08-14  Jojo R  <jiejie_rong@c-sky.com>
+
+	* config/csky/csky-elf.h (ASM_SPEC): Use mfloat-abi.
+	* config/csky/csky-linux-elf.h (ASM_SPEC): mfloat-abi.
+
 2020-08-13  David Malcolm  <dmalcolm@redhat.com>
 
 	PR analyzer/93032
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index da579e6d532..e6ef660d478 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200814
+20200815
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index c1fe30fa581..906796523e3 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,22 @@
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+	PR testsuite/96609
+	PR analyzer/96616
+	* region-model.cc (region_model::get_store_value): Call
+	maybe_get_constant_value on decl_regions first.
+	* region-model.h (decl_region::maybe_get_constant_value): New decl.
+	* region.cc (decl_region::get_stack_depth): Likewise.
+	(decl_region::maybe_get_constant_value): New.
+	* store.cc (get_subregion_within_ctor): New.
+	(binding_map::apply_ctor_to_region): New.
+	* store.h (binding_map::apply_ctor_to_region): New decl.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96611
+	* store.cc (store::mark_as_escaped): Reject attempts to
+	get a cluster for an unknown pointer.
+
 2020-08-13  David Malcolm  <dmalcolm@redhat.com>
 
 	PR analyzer/93032
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 07d32a5f141..0244459e2b8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,126 @@
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* name-lookup.h (lookup_name_real, lookup_name_nonclass): Rename
+	to ...
+	(lookup_name): ... these new overloads.
+	* name-lookup.c (identifier_type_value_1): Rename lookup_name_real
+	call.
+	(lookup_name_real_1): Rename to ...
+	(lookup_name_1): ... here.
+	(lookup_name_real): Rename to ...
+	(lookup_name): ... here.  Rename lookup_name_real_1 call.
+	(lookup_name_nonclass): Delete.
+	* call.c (build_operator_new_call): Rename lookup_name_real call.
+	(add_operator_candidates): Likewise.
+	(build_op_delete_call): Rename lookup_name_nonclass call.
+	* parser.c (cp_parser_lookup_name): Likewise.
+	* pt.c (tsubst_friend_class, lookup_init_capture_pack): Likewise.
+	(tsubst_expr): Likewise.
+	* semantics.c (capture_decltype): Likewise.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* cp-tree.h (LOOKUP_HIDDEN): Delete.
+	(LOOKUP_PREFER_RVALUE): Adjust initializer.
+	* name-lookup.h (enum class LOOK_want): Add HIDDEN_FRIEND and
+	HIDDEN_LAMBDA flags.
+	(lookup_name_real): Drop flags parm.
+	(lookup_qualified_name): Drop find_hidden parm.
+	* name-lookup.c (class name_lookup): Drop hidden field, adjust
+	ctors.
+	(name_lookup::add_overload): Check want for hiddenness.
+	(name_lookup::process_binding): Likewise.
+	(name_lookup::search_unqualified): Likewise.
+	(identifier_type_value_1): Adjust lookup_name_real call.
+	(set_decl_namespace): Adjust name_lookup ctor.
+	(qualify_lookup): Drop flags parm, use want for hiddenness.
+	(lookup_qualified_name): Drop find_hidden parm.
+	(lookup_name_real_1): Drop flags parm, adjust qualify_lookup
+	calls.
+	(lookup_name_real): Drop flags parm.
+	(lookup_name_nonclass, lookup_name): Adjust lookup_name_real
+	calls.
+	(lookup_type_scope_1): Adjust qualify_lookup calls.
+	* call.c (build_operator_new_call): Adjust lookup_name_real call.
+	(add_operator_candidates): Likewise.
+	* coroutines.cc (morph_fn_to_coro): Adjust lookup_qualified_name
+	call.
+	* parser.c (cp_parser_lookup_name): Adjust lookup_name_real calls.
+	* pt.c (check_explicit_specialization): Adjust
+	lookup_qualified_name call.
+	(deduction_guides_for): Likewise.
+	(tsubst_friend_class): Adjust lookup_name_real call.
+	(lookup_init_capture_pack): Likewise.
+	(tsubst_expr): Likewise, don't look in namespaces.
+	* semantics.c (capture_decltype): Adjust lookup_name_real.  Don't
+	look in namespaces.
+
+2020-08-14  Jason Merrill  <jason@redhat.com>
+
+	PR c++/90254
+	PR c++/93711
+	* cp-tree.h (unsafe_return_slot_p): Declare.
+	* call.c (is_base_field_ref): Rename to unsafe_return_slot_p.
+	(build_over_call): Check unsafe_return_slot_p.
+	(build_special_member_call): Likewise.
+	* init.c (expand_default_init): Likewise.
+	* typeck2.c (split_nonconstant_init_1): Likewise.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* cp-tree.h (LOOKUP_PREFER_TYPES, LOOKUP_PREFER_NAMESPACES)
+	(LOOKUP_NAMESPACES_ONLY, LOOKUP_TYPES_ONLY)
+	(LOOKUP_QUALIFIERS_ONL): Delete.
+	(LOOKUP_HIDDEN): Adjust.
+	* name-lookup.h (enum class LOOK_want): New.
+	(operator|, operator&): Overloads for it.
+	(lookup_name_real): Replace prefer_type & namespaces_only with
+	LOOK_want parm.
+	(lookup_qualified_name): Replace prefer_type with LOOK_want.
+	(lookup_name_prefer_type): Replace with ...
+	(lookup_name): ... this.  New overload with LOOK_want parm.
+	* name-lookup.c (struct name_lookup): Replace flags with want and
+	hidden fields.  Adjust constructors.
+	(name_lookyp::add_overload): Correct hidden stripping test.  Update
+	for new LOOK_want type.
+	(name_lookup::process_binding): Likewise.
+	(name_lookup::search_unqualified): Use hidden flag.
+	(identifier_type_value_1): Adjust lookup_name_real call.
+	(set_decl_namespace): Adjust name_lookup ctor.
+	(lookup_flags): Delete.
+	(qualify_lookup): Add LOOK_want parm, adjust.
+	(lookup_qualified_name): Replace prefer_type parm with LOOK_want.
+	(lookup_name_real_1): Replace prefer_type and namespaces_only with
+	LOOK_want parm.
+	(lookup_name_real): Likewise.
+	(lookup_name_nonclass, lookup_name): Adjust lookup_name_real call.
+	(lookup_name_prefer_type): Rename to ...
+	(lookup_name): ... here.  New overload with LOOK_want parm.
+	(lookup_type_scope_1): Adjust qualify_lookup calls.
+	* call.c (build_operator_new_call)
+	(add_operator_candidates): Adjust lookup_name_real calls.
+	* coroutines.cc (find_coro_traits_template_decl)
+	(find_coro_handle_template_decl, morph_fn_to_coro): Adjust
+	lookup_qualified_name calls.
+	* cp-objcp-common.c (identifier_global_tag): Likewise.
+	* decl.c (get_tuple_size, get_tuple_decomp_init): Likewise.
+	(lookup_and_check_tag): Use lookup_name overload.
+	* parser.c (cp_parser_userdef_numeric_literal): Adjust
+	lookup_qualified_name call.
+	(prefer_arg_type): Drop template_mem_access parm, return LOOK_want
+	value.
+	(cp_parser_lookup_name): Adjust lookup_member, lookup_name_real
+	calls.
+	* pt.c (check_explicit_specialization): Adjust lookup_qualified_name
+	call.
+	(tsubst_copy_and_build, tsubst_qualified_name): Likewise
+	(deduction_guides_for): Likewise.
+	(tsubst_friend_class): Adjust lookup_name_real call.
+	(lookup_init_capture, tsubst_expr): Likewise.
+	* rtti.c (emit_support_tinfos): Adjust lookup_qualified_name call.
+	* semantics.c (omp_reduction_lookup): Likewise.
+	(capture_decltype): Adjust lookup_name_real call.
+
 2020-08-13  Nathan Sidwell  <nathan@acm.org>
 
 	* name-lookup.h (enum class LOOK_where): New.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 78eecead18c..9e4e5891b17 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,37 @@
+2020-08-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78257
+	* gcc.dg/memchr.c: New test.
+	* gcc.dg/memcmp-2.c: New test.
+	* gcc.dg/memcmp-3.c: New test.
+	* gcc.dg/memcmp-4.c: New test.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96611
+	* gcc.dg/analyzer/pr96611.c: New test.
+
+2020-08-14  Jason Merrill  <jason@redhat.com>
+
+	PR c++/90254
+	PR c++/93711
+	* g++.dg/cpp1z/aggr-base10.C: New test.
+	* g++.dg/cpp2a/no_unique_address7.C: New test.
+	* g++.dg/cpp2a/no_unique_address7a.C: New test.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+	* lib/prune.exp: Change TEST_ALWAYS_FLAGS to use -fdiagnostics-plain-output.
+	* lib/c-compat.exp: Adapt to the prune.exp change.
+
+2020-08-14  Tom de Vries  <tdevries@suse.de>
+
+	* gcc.dg/torture/pr92088-1.c: Add require-effective-target alloca.
+	* gcc.dg/torture/pr92088-2.c: Same.
+	* gcc.dg/torture/pr93124.c: Same.
+	* gcc.dg/torture/pr94479.c: Same.
+	* gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: Same.
+
 2020-08-13  David Malcolm  <dmalcolm@redhat.com>
 
 	PR analyzer/96598
diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog
index 56038176efa..fbf238eb8bc 100644
--- a/libcc1/ChangeLog
+++ b/libcc1/ChangeLog
@@ -1,3 +1,18 @@
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* libcp1plugin.cc (plugin_build_dependent_expr): Rename
+	lookup_name_real call.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* libcp1plugin.cc (plugin_build_dependent_exp): Adjust
+	lookup_name_real call.
+
+2020-08-14  Nathan Sidwell  <nathan@acm.org>
+
+	* libcp1plugin.cc (plugin_build_dependent_expr): Adjust
+	lookup_name_real & lookup_qualified_name calls.
+
 2020-08-13  Nathan Sidwell  <nathan@acm.org>
 
 	* libcp1plugin.cc (plugin_build_dependent_expr): Likewise.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9c7fc0ebbd1..fe6884bf337 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+	* testsuite/lib/libstdc++.exp: Use the new option
+	-fdiagnostics-plain-output.
+
 2020-08-13  Jonathan Wakely  <jwakely@redhat.com>
 
 	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-14 21:42 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-14 21:42 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 82259 bytes --]

https://gcc.gnu.org/g:b3cb56060bcdc1cf4d38aa30b5017b802822f8c0

commit b3cb56060bcdc1cf4d38aa30b5017b802822f8c0
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Fri Aug 14 00:16:24 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           |   87 +++
 gcc/DATESTAMP           |    2 +-
 gcc/analyzer/ChangeLog  | 1393 +++++++++++++++++++++++++++++++++++++++++++++++
 gcc/cp/ChangeLog        |   25 +
 gcc/fortran/ChangeLog   |   11 +
 gcc/testsuite/ChangeLog |  238 ++++++++
 libcc1/ChangeLog        |    4 +
 libgcc/ChangeLog        |    5 +
 libgomp/ChangeLog       |   10 +
 libstdc++-v3/ChangeLog  |    7 +
 10 files changed, 1781 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 676585fdb37..9c480977e7e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,90 @@
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (ANALYZER_OBJS): Add analyzer/region.o,
+	analyzer/region-model-impl-calls.o,
+	analyzer/region-model-manager.o,
+	analyzer/region-model-reachability.o, analyzer/store.o, and
+	analyzer/svalue.o.
+	* doc/analyzer.texi: Update for changes to analyzer
+	implementation.
+	* tristate.h (tristate::get_value): New accessor.
+
+2020-08-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-builtin.def (CET_NORMAL): Merge to CET BDESC array.
+	(__builtin_ia32_rddspd, __builtin_ia32_rddspq, __builtin_ia32_incsspd)
+	(__builtin_ia32_incsspq, __builtin_ia32_wrssd, __builtin_ia32_wrssq)
+	(__builtin_ia32_wrussd, __builtin_ia32_wrussq): Use CODE_FOR_nothing.
+	* config/i386/i386-builtins.c: Remove handling of CET_NORMAL builtins.
+	* config/i386/i386.md (@rdssp<mode>): Implement as parametrized
+	name pattern.  Use SWI48 mode iterator.  Introduce input operand
+	and remove explicit XOR zeroing from insn template.
+	(@incssp<mode>): Implement as parametrized name pattern.
+	Use SWI48 mode iterator.
+	(@wrss<mode>): Ditto.
+	(@wruss<mode>): Ditto.
+	(rstorssp): Remove expander.  Rename insn pattern from *rstorssp<mode>.
+	Use DImode memory operand.
+	(clrssbsy): Remove expander.  Rename insn pattern from *clrssbsy<mode>.
+	Use DImode memory operand.
+	(save_stack_nonlocal): Update for parametrized name patterns.
+	Use cleared register as an argument to gen_rddsp.
+	(restore_stack_nonlocal): Update for parametrized name patterns.
+	* config/i386/i386-expand.c (ix86_expand_builtin):
+	[case IX86_BUILTIN_RDSSPD, case IX86_BUILTIN_RDSSPQ]: Expand here.
+	[case IX86_BUILTIN_INCSSPD, case IX86_BUILTIN_INCSSPQ]: Ditto.
+	[case IX86_BUILTIN_RSTORSSP, case IX86_BUILTIN_CLRSSBSY]:
+	Generate DImode memory operand.
+	[case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]
+	[case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+	Update for parameterized name patterns.
+
+2020-08-13  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/96506
+	* config/rs6000/rs6000-call.c (rs6000_promote_function_mode): Disallow
+	MMA types as return values.
+	(rs6000_function_arg): Disallow MMA types as function arguments.
+
+2020-08-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+	Revert:
+	2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+	* config/aarch64/aarch64.c (aarch64_function_value): Add if
+	condition to check ag_mode after entering if condition of
+	aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+	set as false by -mgeneral-regs-only, report the diagnostic
+	information of -mgeneral-regs-only imcompatible with the use
+	of fp/simd register(s).
+
+2020-08-13  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/96482
+	* ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value
+	with m_mask.
+
+2020-08-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimplify.c (gimplify_omp_taskloop_expr): New function.
+	(gimplify_omp_for): Use it.  For OMP_FOR_NON_RECTANGULAR
+	loops adjust in outer taskloop the var-outer decls.
+	* omp-expand.c (expand_omp_taskloop_for_inner): Handle non-rectangular
+	loops.
+	(expand_omp_for): Don't reject non-rectangular taskloop.
+	* omp-general.c (omp_extract_for_data): Don't assert that
+	non-rectangular loops have static schedule, instead treat loop->m1
+	or loop->m2 as if loop->n1 or loop->n2 is non-constant.
+
+2020-08-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+	PR target/96246
+	* config/i386/sse.md (<avx512>_load<mode>_mask,
+	<avx512>_load<mode>_mask): Extend to generate blendm
+	instructions.
+	(<avx512>_blendm<mode>, <avx512>_blendm<mode>): Change
+	define_insn to define_expand.
+
 2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
 	    Uroš Bizjak  <ubizjak@gmail.com>
 
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index faeb40f4ca8..da579e6d532 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200813
+20200814
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index d2c440a08e4..f8e59651590 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,1396 @@
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+	* analyzer-logging.cc: Ignore "-Wformat-diag".
+	(logger::enter_scope): Use inc_indent in both overloads.
+	(logger::exit_scope): Use dec_indent.
+	* analyzer-logging.h (logger::inc_indent): New.
+	(logger::dec_indent): New.
+	* analyzer-selftests.cc (run_analyzer_selftests): Call
+	analyzer_store_cc_tests.
+	* analyzer-selftests.h (analyzer_store_cc_tests): New decl.
+	* analyzer.cc (get_stmt_location): New function.
+	* analyzer.h (class initial_svalue): New forward decl.
+	(class unaryop_svalue): New forward decl.
+	(class binop_svalue): New forward decl.
+	(class sub_svalue): New forward decl.
+	(class unmergeable_svalue): New forward decl.
+	(class placeholder_svalue): New forward decl.
+	(class widening_svalue): New forward decl.
+	(class compound_svalue): New forward decl.
+	(class conjured_svalue): New forward decl.
+	(svalue_set): New typedef.
+	(class map_region): Delete.
+	(class array_region): Delete.
+	(class frame_region): New forward decl.
+	(class function_region): New forward decl.
+	(class label_region): New forward decl.
+	(class decl_region): New forward decl.
+	(class element_region): New forward decl.
+	(class offset_region): New forward decl.
+	(class cast_region): New forward decl.
+	(class field_region): New forward decl.
+	(class string_region): New forward decl.
+	(class region_model_manager): New forward decl.
+	(class store_manager): New forward decl.
+	(class store): New forward decl.
+	(class call_details): New forward decl.
+	(struct svalue_id_merger_mapping): Delete.
+	(struct canonicalization): Delete.
+	(class function_point): New forward decl.
+	(class engine): New forward decl.
+	(dump_tree): New function decl.
+	(print_quoted_type): New function decl.
+	(readability_comparator): New function decl.
+	(tree_cmp): New function decl.
+	(class path_var): Move here from region-model.h
+	(bit_offset_t, bit_size_t, byte_size_t): New typedefs.
+	(class region_offset): New class.
+	(get_stmt_location): New decl.
+	(struct member_function_hash_traits): New struct.
+	(class consolidation_map): New class.
+	Ignore "-Wformat-diag".
+	* analyzer.opt (-param=analyzer-max-svalue-depth=): New param.
+	(-param=analyzer-max-enodes-for-full-dump=): New param.
+	* call-string.cc: Ignore -Wformat-diag.
+	* checker-path.cc: Move includes of "analyzer/call-string.h" and
+	"analyzer/program-point.h" to before "analyzer/region-model.h",
+	and also include "analyzer/store.h" before it.
+	(state_change_event::state_change_event): Replace "tree var" param
+	with "const svalue *sval".  Convert "origin" param from tree to
+	"const svalue *".
+	(state_change_event::get_desc): Call get_representative_tree to
+	convert the var and origin from const svalue * to tree.  Use
+	svalue::get_desc rather than %qE when describing state changes.
+	(checker_path::add_final_event): Use get_stmt_location.
+	* checker-path.h (state_change_event::state_change_event): Port
+	from tree to const svalue *.
+	(state_change_event::get_lvalue): Delete.
+	(state_change_event::get_dest_function): New.
+	(state_change_event::m_var): Replace with...
+	(state_change_event::m_sval): ...this.
+	(state_change_event::m_origin): Convert from tree to
+	const svalue *.
+	* constraint-manager.cc: Include "analyzer/call-string.h",
+	"analyzer/program-point.h", and "analyzer/store.h" before
+	"analyzer/region-model.h".
+	(struct bound, struct range): Move to constraint-manager.h.
+	(compare_constants): New function.
+	(range::dump): Rename to...
+	(range::dump_to_pp): ...this.  Support NULL constants.
+	(range::dump): Reintroduce for dumping to stderr.
+	(range::constrained_to_single_element): Return result, rather than
+	writing to *OUT.
+	(range::eval_condition): New.
+	(range::below_lower_bound): New.
+	(range::above_upper_bound): New.
+	(equiv_class::equiv_class): Port from svalue_id to const svalue *.
+	(equiv_class::print): Likewise.
+	(equiv_class::hash): Likewise.
+	(equiv_class::operator==): Port from svalue_id to const svalue *.
+	(equiv_class::add): Port from svalue_id to const svalue *. Drop
+	"cm" param.
+	(equiv_class::del): Port from svalue_id to const svalue *.
+	(equiv_class::get_representative): Likewise.
+	(equiv_class::remap_svalue_ids): Delete.
+	(svalue_id_cmp_by_id): Rename to...
+	(svalue_cmp_by_ptr): ...this, porting from svalue_id to
+	const svalue *.
+	(equiv_class::canonicalize): Update qsort comparator.
+	(constraint::implied_by): New.
+	(constraint_manager::constraint_manager): Copy m_mgr in copy ctor.
+	(constraint_manager::dump_to_pp): Add "multiline" param
+	(constraint_manager::dump): Pass "true" for "multiline".
+	(constraint_manager::add_constraint): Port from svalue_id to
+	const svalue *.  Split out second part into...
+	(constraint_manager::add_unknown_constraint): ...this new
+	function.  Remove self-constraints when merging equivalence
+	classes.
+	(constraint_manager::add_constraint_internal): Remove constraints
+	that would be implied by the new constraint.  Port from svalue_id
+	to const svalue *.
+	(constraint_manager::get_equiv_class_by_sid): Rename to...
+	(constraint_manager::get_equiv_class_by_svalue): ...this, porting
+	from svalue_id to const svalue *.
+	(constraint_manager::get_or_add_equiv_class): Port from svalue_id
+	to const svalue *.
+	(constraint_manager::eval_condition): Make const.  Call
+	compare_constants and return early if it provides a known result.
+	(constraint_manager::get_ec_bounds): New.
+	(constraint_manager::eval_condition): New overloads.  Make
+	existing one const, and use compare_constants.
+	(constraint_manager::purge): Convert "p" param to a template
+	rather that an abstract base class.  Port from svalue_id to
+	const svalue *.
+	(class dead_svalue_purger): New class.
+	(constraint_manager::remap_svalue_ids): Delete.
+	(constraint_manager::on_liveness_change): New.
+	(equiv_class_cmp): Port from svalue_id to const svalue *.
+	(constraint_manager::canonicalize): Likewise.  Combine with
+	purging of redundant equivalence classes and constraints.
+	(class cleaned_constraint_manager): Delete.
+	(class merger_fact_visitor): Make "m_cm_b" const.  Add "m_merger"
+	field.
+	(merger_fact_visitor::fact): Port from svalue_id to const svalue *.
+	Add special case for widening.
+	(constraint_manager::merge): Port from svalue_id to const svalue *.
+	(constraint_manager::clean_merger_input): Delete.
+	(constraint_manager::for_each_fact): Port from svalue_id to
+	const svalue *.
+	(constraint_manager::validate): Likewise.
+	(selftest::test_constraint_conditions): Provide a
+	region_model_manager when creating region_model instances.
+	Add test for self-equality not creating equivalence classes.
+	(selftest::test_transitivity): Provide a region_model_manager when
+	creating region_model instances.  Verify that EC-merging happens
+	when constraints are implied.
+	(selftest::test_constant_comparisons):  Provide a
+	region_model_manager when creating region_model instances.
+	(selftest::test_constraint_impl): Likewise.  Remove over-specified
+	assertions.
+	(selftest::test_equality): Provide a region_model_manager when
+	creating region_model instances.
+	(selftest::test_many_constants): Likewise.  Provide a
+	program_point when testing merging.
+	(selftest::run_constraint_manager_tests): Move call to
+	test_constant_comparisons to outside the transitivity guard.
+	* constraint-manager.h (struct bound): Move here from
+	constraint-manager.cc.
+	(struct range): Likewise.
+	(struct::eval_condition): New decl.
+	(struct::below_lower_bound): New decl.
+	(struct::above_upper_bound): New decl.
+	(equiv_class::add): Port from svalue_id to const svalue *.
+	(equiv_class::del): Likewise.
+	(equiv_class::get_representative): Likewise.
+	(equiv_class::remap_svalue_ids): Drop.
+	(equiv_class::m_cst_sid): Convert to..
+	(equiv_class::m_cst_sval): ...this.
+	(equiv_class::m_vars): Port from svalue_id to const svalue *.
+	(constraint::bool implied_by): New decl.
+	(fact_visitor::on_fact): Port from svalue_id to const svalue *.
+	(constraint_manager::constraint_manager): Add mgr param.
+	(constraint_manager::clone): Delete.
+	(constraint_manager::maybe_get_constant): Delete.
+	(constraint_manager::get_sid_for_constant): Delete.
+	(constraint_manager::get_num_svalues): Delete.
+	(constraint_manager::dump_to_pp): Add "multiline" param.
+	(constraint_manager::get_equiv_class): Port from svalue_id to
+	const svalue *.
+	(constraint_manager::add_constraint):  Likewise.
+	(constraint_manager::get_equiv_class_by_sid): Rename to...
+	(constraint_manager::get_equiv_class_by_svalue): ...this, porting
+	from svalue_id to const svalue *.
+	(constraint_manager::add_unknown_constraint): New decl.
+	(constraint_manager::get_or_add_equiv_class): Port from svalue_id
+	to const svalue *.
+	(constraint_manager::eval_condition): Likewise.  Add overloads.
+	(constraint_manager::get_ec_bounds): New decl.
+	(constraint_manager::purge): Convert to template.
+	(constraint_manager::remap_svalue_ids): Delete.
+	(constraint_manager::on_liveness_change): New decl.
+	(constraint_manager::canonicalize): Drop param.
+	(constraint_manager::clean_merger_input): Delete.
+	(constraint_manager::m_mgr): New field.
+	* diagnostic-manager.cc: Move includes of
+	"analyzer/call-string.h" and "analyzer/program-point.h" to before
+	"analyzer/region-model.h", and also include "analyzer/store.h"
+	before it.
+	(saved_diagnostic::saved_diagnostic): Add "sval" param.
+	(diagnostic_manager::diagnostic_manager): Add engine param.
+	(diagnostic_manager::add_diagnostic): Add "sval" param, passing it
+	to saved_diagnostic ctor.  Update overload to pass NULL for it.
+	(dedupe_winners::dedupe_winners): Add engine param.
+	(dedupe_winners::add): Add "eg" param.  Pass m_engine to
+	feasible_p.
+	(dedupe_winner::m_engine): New field.
+	(diagnostic_manager::emit_saved_diagnostics): Pass engine to
+	dedupe_winners.  Pass &eg when adding candidates.  Pass svalue
+	rather than tree to prune_path.  Use get_stmt_location to get
+	primary location of diagnostic.
+	(diagnostic_manager::emit_saved_diagnostic): Likewise.
+	(get_any_origin): Drop.
+	(state_change_event_creator::on_global_state_change): Pass NULL
+	const svalue * rather than NULL_TREE trees to state_change_event
+	ctor.
+	(state_change_event_creator::on_state_change): Port from tree and
+	svalue_id to const svalue *.
+	(for_each_state_change): Port from svalue_id to const svalue *.
+	(struct null_assignment_sm_context): New.
+	(diagnostic_manager::add_events_for_eedge):  Add state change
+	events for assignment to NULL.
+	(diagnostic_manager::prune_path): Update param from tree to
+	const svalue *.
+	(diagnostic_manager::prune_for_sm_diagnostic): Port from tracking
+	by tree to by const svalue *.
+	* diagnostic-manager.h (saved_diagnostic::saved_diagnostic): Add sval
+	param.
+	(saved_diagnostic::m_sval): New field.
+	(diagnostic_manager::diagnostic_manager): Add engine param.
+	(diagnostic_manager::get_engine): New.
+	(diagnostic_manager::add_diagnostic): Add "sval" param.
+	(diagnostic_manager::prune_path): Likewise.
+	(diagnostic_manager::prune_for_sm_diagnostic): New overload.
+	(diagnostic_manager::m_eng): New field.
+	* engine.cc: Move includes of "analyzer/call-string.h" and
+	"analyzer/program-point.h" to before "analyzer/region-model.h",
+	and also include "analyzer/store.h" before it.
+	(impl_region_model_context::impl_region_model_context): Update for
+	removal of m_change field.
+	(impl_region_model_context::remap_svalue_ids): Delete.
+	(impl_region_model_context::on_svalue_leak): New.
+	(impl_region_model_context::on_svalue_purge): Delete.
+	(impl_region_model_context::on_liveness_change): New.
+	(impl_region_model_context::on_unknown_change): Update param
+	from svalue_id to const svalue *.  Add is_mutable param.
+	(setjmp_svalue::compare_fields): Delete.
+	(setjmp_svalue::accept): New.
+	(setjmp_svalue::add_to_hash): Delete.
+	(setjmp_svalue::dump_to_pp): New.
+	(setjmp_svalue::print_details): Delete.
+	(impl_sm_context::impl_sm_context): Drop "change" param.
+	(impl_sm_context::get_fndecl_for_call): Drop "m_change".
+	(impl_sm_context::on_transition): Drop ATTRIBUTE_UNUSED from
+	"stmt" param.  Drop m_change.  Port from svalue_id to
+	const svalue *.
+	(impl_sm_context::warn_for_state): Drop m_change.  Port from
+	svalue_id to const svalue *.
+	(impl_sm_context::get_readable_tree): Rename to...
+	(impl_sm_context::get_diagnostic_tree): ...this.  Port from
+	svalue_id to const svalue *.
+	(impl_sm_context::is_zero_assignment): New.
+	(impl_sm_context::m_change): Delete field.
+	(leak_stmt_finder::find_stmt): Handle m_var being NULL.
+	(readability):  Increase penalty for MEM_REF.  For SSA_NAMEs,
+	slightly favor the underlying var over the SSA name.  Heavily
+	penalize temporaries.  Handle RESULT_DECL.
+	(readability_comparator): Make non-static.  Consider stack depths.
+	(impl_region_model_context::on_state_leak): Convert from svalue_id
+	to const svalue *, updating for region_model changes.  Use
+	id_equal.
+	(impl_region_model_context::on_inherited_svalue): Delete.
+	(impl_region_model_context::on_cast): Delete.
+	(impl_region_model_context::on_condition):  Drop m_change.
+	(impl_region_model_context::on_phi): Likewise.
+	(impl_region_model_context::on_unexpected_tree_code): Handle t
+	being NULL.
+	(point_and_state::validate): Update stack checking for
+	region_model changes.
+	(eg_traits::dump_args_t::show_enode_details_p): New.
+	(exploded_node::exploded_node): Initialize m_num_processed_stmts.
+	(exploded_node::get_processed_stmt): New function.
+	(exploded_node::get_dot_fillcolor): Add more colors.
+	(exploded_node::dump_dot): Guard the printing of the point and
+	state with show_enode_details_p.  Print the processed stmts for
+	this enode after the initial state.
+	(exploded_node::dump_to_pp): Pass true for new multiline param
+	of program_state::dump_to_pp.
+	(exploded_node::on_stmt): Drop "change" param.  Log the stmt.
+	Set input_location.  Implement __analyzer_describe.  Update
+	implementation of __analyzer_dump and __analyzer_eval.
+	Remove purging of sm-state for unknown fncalls from here.
+	(exploded_node::on_edge): Drop "change" param.
+	(exploded_node::on_longjmp): Port from region_id/svalue_id to
+	const region */const svalue *.  Call program_state::detect_leaks.
+	Drop state_change.
+	(exploded_node::detect_leaks): Update for changes to region_model.
+	Call program_state::detect_leaks.
+	(exploded_edge::exploded_edge): Drop ext_state and change params.
+	(exploded_edge::dump_dot): "args" is no longer used.  Drop dumping
+	of m_change.
+	(exploded_graph::exploded_graph): Pass engine to
+	m_diagnostic_manager ctor.  Use program_point::origin.
+	(exploded_graph::add_function_entry):  Drop ctxt.  Use
+	program_state::push_frame.  Drop state_change.
+	(exploded_graph::get_or_create_node): Drop "change" param.  Add
+	"enode_for_diag" param.  Update dumping calls for API changes.
+	Pass point to can_merge_with_p.  Show enode indices
+	within -Wanalyzer-too-complex diagnostic for hitting the per-point
+	limit.
+	(exploded_graph::add_edge): Drop "change" param.  Log which nodes
+	are being connected.  Update for changes to exploded_edge ctor.
+	(exploded_graph::get_per_program_point_data): New.
+	(exploded_graph::process_worklist): Pass point to
+	can_merge_with_p.  Drop state_change.  Update dumping call for API
+	change.
+	(exploded_graph::process_node):  Drop state_change.  Split the
+	node in-place if an sm-state-change occurs.  Update
+	m_num_processed_stmts.  Update dumping calls for API change.
+	(exploded_graph::log_stats): Call engine::log_stats.
+	(exploded_graph::dump_states_for_supernode): Update dumping
+	call.
+	(exploded_path::feasible_p): Add "eng" and "eg" params.
+	Rename "i" to "end_idx".  Pass the manager to the region_model
+	ctor.  Update for every processed stmt in the enode, not just the
+	first.  Keep track of which snodes have been visited, and call
+	loop_replay_fixup when revisiting one.
+	(enode_label::get_text): Update dump call for new param.
+	(exploded_graph::dump_exploded_nodes): Likewise.
+	(exploded_graph::get_node_by_index): New.
+	(impl_run_checkers): Create engine instance and pass its address
+	to extrinsic_state ctor.
+	* exploded-graph.h
+	(impl_region_model_context::impl_region_model_context): Drop
+	"change" params.
+	(impl_region_model_context::void remap_svalue_ids): Delete.
+	(impl_region_model_context::on_svalue_purge): Delete.
+	(impl_region_model_context::on_svalue_leak): New.
+	(impl_region_model_context::on_liveness_change): New.
+	(impl_region_model_context::on_state_leak): Update signature.
+	(impl_region_model_context::on_inherited_svalue): Delete.
+	(impl_region_model_context::on_cast): Delete.
+	(impl_region_model_context::on_unknown_change): Update signature.
+	(impl_region_model_context::m_change): Delete.
+	(eg_traits::dump_args_t::show_enode_details_p): New.
+	(exploded_node::on_stmt): Drop "change" param.
+	(exploded_node::on_edge): Likewise.
+	(exploded_node::get_processed_stmt): New decl.
+	(exploded_node::m_num_processed_stmts): New field.
+	(exploded_edge::exploded_edge): Drop ext_state and change params.
+	(exploded_edge::m_change): Delete.
+	(exploded_graph::get_engine): New accessor.
+	(exploded_graph::get_or_create_node): Drop "change" param.  Add
+	"enode_for_diag" param.
+	(exploded_graph::add_edge): Drop "change" param.
+	(exploded_graph::get_per_program_point_data): New decl.
+	(exploded_graph::get_node_by_index): New decl.
+	(exploded_path::feasible_p): Add "eng" and "eg" params.
+	* program-point.cc: Include "analyzer/store.h" before including
+	"analyzer/region-model.h".
+	(function_point::function_point): Move here from
+	program-point.h.
+	(function_point::get_function): Likewise.
+	(function_point::from_function_entry): Likewise.
+	(function_point::before_supernode): Likewise.
+	(function_point::next_stmt): New function.
+	* program-point.h (function_point::function_point): Move
+	implementation from here to program-point.cc.
+	(function_point::get_function): Likewise.
+	(function_point::from_function_entry): Likewise.
+	(function_point::before_supernode): Likewise.
+	(function_point::next_stmt): New decl.
+	(program_point::operator!=): New.
+	(program_point::origin): New.
+	(program_point::next_stmt): New.
+	(program_point::m_function_point): Make non-const.
+	* program-state.cc: Move includes of "analyzer/call-string.h" and
+	"analyzer/program-point.h" to before "analyzer/region-model.h",
+	and also include "analyzer/store.h" before it.
+	(extrinsic_state::get_model_manager): New.
+	(sm_state_map::sm_state_map): Pass in sm and sm_idx to ctor,
+	rather than pass the around.
+	(sm_state_map::clone_with_remapping): Delete.
+	(sm_state_map::print): Remove "sm" param in favor of "m_sm".  Add
+	"simple" and "multiline" params and support multiline vs single
+	line dumping.
+	(sm_state_map::dump): Remove "sm" param in favor of "m_sm".  Add
+	"simple" param.
+	(sm_state_map::hash): Port from svalue_id to const svalue *.
+	(sm_state_map::operator==): Likewise.
+	(sm_state_map::get_state): Likewise.  Call canonicalize_svalue on
+	input.  Handle inheritance of sm-state.  Call get_default_state.
+	(sm_state_map::get_origin): Port from svalue_id to const svalue *.
+	(sm_state_map::set_state): Likewise.  Pass in ext_state.  Reject
+	attempts to set state on UNKNOWN.
+	(sm_state_map::impl_set_state): Port from svalue_id to
+	const svalue *.  Pass in ext_state.  Call canonicalize_svalue on
+	input.
+	(sm_state_map::purge_for_unknown_fncall): Delete.
+	(sm_state_map::on_svalue_leak): New.
+	(sm_state_map::remap_svalue_ids): Delete.
+	(sm_state_map::on_liveness_change): New.
+	(sm_state_map::on_unknown_change): Reimplement.
+	(sm_state_map::on_svalue_purge): Delete.
+	(sm_state_map::on_inherited_svalue): Delete.
+	(sm_state_map::on_cast): Delete.
+	(sm_state_map::validate): Delete.
+	(sm_state_map::canonicalize_svalue): New.
+	(program_state::program_state): Update to pass manager to
+	region_model's ctor.  Constify num_states and pass state machine
+	and index to sm_state_map ctor.
+	(program_state::print): Update for changes to dump API.
+	(program_state::dump_to_pp): Ignore the summarize param.  Add
+	"multiline" param.
+	(program_state::dump_to_file): Add "multiline" param.
+	(program_state::dump): Pass "true" for new "multiline" param.
+	(program_state::push_frame): New.
+	(program_state::on_edge): Drop "change" param.  Call
+	program_state::detect_leaks.
+	(program_state::prune_for_point): Add enode_for_diag param.
+	Reimplement based on store class.  Call detect_leaks
+	(program_state::remap_svalue_ids): Delete.
+	(program_state::get_representative_tree): Port from svalue_id to
+	const svalue *.
+	(program_state::can_merge_with_p): Add "point" param.  Add early
+	reject for sm-differences.  Drop id remapping.
+	(program_state::validate): Drop region model and sm_state_map
+	validation.
+	(state_change::sm_change::dump): Delete.
+	(state_change::sm_change::remap_svalue_ids): Delete.
+	(state_change::sm_change::on_svalue_purge): Delete.
+	(log_set_of_svalues): New.
+	(state_change::sm_change::validate): Delete.
+	(state_change::state_change): Delete.
+	(state_change::add_sm_change): Delete.
+	(state_change::affects_p): Delete.
+	(state_change::dump): Delete.
+	(state_change::remap_svalue_ids): Delete.
+	(state_change::on_svalue_purge): Delete.
+	(state_change::validate): Delete.
+	(selftest::assert_dump_eq): Delete.
+	(ASSERT_DUMP_EQ): Delete.
+	(selftest::test_sm_state_map): Update for changes to region_model
+	and sm_state_map, porting from svalue_id to const svalue *.
+	(selftest::test_program_state_dumping): Likewise.  Drop test of
+	dumping, renaming to...
+	(selftest::test_program_state_1): ...this.
+	(selftest::test_program_state_dumping_2): Likewise, renaming to...
+	(selftest::test_program_state_2): ...this.
+	(selftest::test_program_state_merging): Update for changes to
+	region_model.
+	(selftest::test_program_state_merging_2): Likewise.
+	(selftest::analyzer_program_state_cc_tests): Update for renamed
+	tests.
+	* program-state.h (extrinsic_state::extrinsic_state): Add logger
+	and engine params.
+	(extrinsic_state::get_logger): New accessor.
+	(extrinsic_state::get_engine): New accessor.
+	(extrinsic_state::get_model_manager): New accessor.
+	(extrinsic_state::m_logger): New field.
+	(extrinsic_state::m_engine): New field.
+	(struct default_hash_traits<svalue_id>): Delete.
+	(pod_hash_traits<svalue_id>::hash): Delete.
+	(pod_hash_traits<svalue_id>::equal): Delete.
+	(pod_hash_traits<svalue_id>::mark_deleted): Delete.
+	(pod_hash_traits<svalue_id>::mark_empty): Delete.
+	(pod_hash_traits<svalue_id>::is_deleted): Delete.
+	(pod_hash_traits<svalue_id>::is_empty): Delete.
+	(sm_state_map::entry_t::entry_t): Port from svalue_id to
+	const svalue *.
+	(sm_state_map::entry_t::m_origin): Likewise.
+	(sm_state_map::map_t): Likewise.
+	(sm_state_map::sm_state_map): Add state_machine and index params.
+	(sm_state_map::clone_with_remapping): Delete.
+	(sm_state_map::print):  Drop sm param; add simple and multiline
+	params.
+	(sm_state_map::dump): Drop sm param; add simple param.
+	(sm_state_map::get_state): Port from svalue_id to const svalue *.
+	Add ext_state param.
+	(sm_state_map::get_origin): Likewise.
+	(sm_state_map::set_state): Likewise.
+	(sm_state_map::impl_set_state): Likewise.
+	(sm_state_map::purge_for_unknown_fncall): Delete.
+	(sm_state_map::remap_svalue_ids): Delete.
+	(sm_state_map::on_svalue_purge): Delete.
+	(sm_state_map::on_svalue_leak): New.
+	(sm_state_map::on_liveness_change): New.
+	(sm_state_map::on_inherited_svalue): Delete.
+	(sm_state_map::on_cast): Delete.
+	(sm_state_map::validate): Delete.
+	(sm_state_map::on_unknown_change): Port from svalue_id to
+	const svalue *.  Add is_mutable and ext_state params.
+	(sm_state_map::canonicalize_svalue): New.
+	(sm_state_map::m_sm): New field.
+	(sm_state_map::m_sm_idx): New field.
+	(program_state::operator=): Delete.
+	(program_state::dump_to_pp): Drop "summarize" param, adding
+	"simple" and "multiline".
+	(program_state::dump_to_file): Likewise.
+	(program_state::dump): Rename "summarize" to "simple".
+	(program_state::push_frame): New.
+	(program_state::get_current_function): New.
+	(program_state::on_edge): Drop "change" param.
+	(program_state::prune_for_point): Likewise.  Add enode_for_diag
+	param.
+	(program_state::remap_svalue_ids): Delete.
+	(program_state::get_representative_tree): Port from svalue_id to
+	const svalue *.
+	(program_state::can_purge_p): Likewise.  Pass ext_state to get_state.
+	(program_state::can_merge_with_p): Add point param.
+	(program_state::detect_leaks): New.
+	(state_change_visitor::on_state_change): Port from tree and
+	svalue_id to a pair of const svalue *.
+	(class state_change): Delete.
+	* region.cc: New file.
+	* region-model-impl-calls.cc: New file.
+	* region-model-manager.cc: New file.
+	* region-model-reachability.cc: New file.
+	* region-model-reachability.h: New file.
+	* region-model.cc: Include "analyzer/call-string.h",
+	"analyzer/program-point.h", and "analyzer/store.h" before
+	"analyzer/region-model.h".  Include
+	"analyzer/region-model-reachability.h".
+	(dump_tree): Make non-static.
+	(dump_quoted_tree): Make non-static.
+	(print_quoted_type): Make non-static.
+	(path_var::dump): Delete.
+	(dump_separator): Delete.
+	(class impl_constraint_manager): Delete.
+	(svalue_id::print): Delete.
+	(svalue_id::dump_node_name_to_pp): Delete.
+	(svalue_id::validate): Delete.
+	(region_id::print): Delete.
+	(region_id::dump_node_name_to_pp): Delete.
+	(region_id::validate): Delete.
+	(region_id_set::region_id_set): Delete.
+	(svalue_id_set::svalue_id_set): Delete.
+	(svalue::operator==): Delete.
+	(svalue::hash): Delete.
+	(svalue::print): Delete.
+	(svalue::dump_dot_to_pp): Delete.
+	(svalue::remap_region_ids): Delete.
+	(svalue::walk_for_canonicalization): Delete.
+	(svalue::get_child_sid): Delete.
+	(svalue::maybe_get_constant): Delete.
+	(region_svalue::compare_fields): Delete.
+	(region_svalue::add_to_hash): Delete.
+	(region_svalue::print_details): Delete.
+	(region_svalue::dump_dot_to_pp): Delete.
+	(region_svalue::remap_region_ids): Delete.
+	(region_svalue::merge_values): Delete.
+	(region_svalue::walk_for_canonicalization): Delete.
+	(region_svalue::eval_condition): Delete.
+	(constant_svalue::compare_fields): Delete.
+	(constant_svalue::add_to_hash): Delete.
+	(constant_svalue::merge_values): Delete.
+	(constant_svalue::eval_condition): Move to svalue.cc.
+	(constant_svalue::print_details): Delete.
+	(constant_svalue::get_child_sid): Delete.
+	(unknown_svalue::compare_fields): Delete.
+	(unknown_svalue::add_to_hash): Delete.
+	(unknown_svalue::print_details): Delete.
+	(poison_kind_to_str): Move to svalue.cc.
+	(poisoned_svalue::compare_fields): Delete.
+	(poisoned_svalue::add_to_hash): Delete.
+	(poisoned_svalue::print_details): Delete.
+	(region_kind_to_str): Move to region.cc and reimplement.
+	(region::operator==): Delete.
+	(region::get_parent_region): Delete.
+	(region::set_value): Delete.
+	(region::become_active_view): Delete.
+	(region::deactivate_any_active_view): Delete.
+	(region::deactivate_view): Delete.
+	(region::get_value): Delete.
+	(region::get_inherited_child_sid): Delete.
+	(region_model::copy_region): Delete.
+	(region_model::copy_struct_region): Delete.
+	(region_model::copy_union_region): Delete.
+	(region_model::copy_array_region): Delete.
+	(region::hash): Delete.
+	(region::print): Delete.
+	(region::dump_dot_to_pp): Delete.
+	(region::dump_to_pp): Delete.
+	(region::dump_child_label): Delete.
+	(region::validate): Delete.
+	(region::remap_svalue_ids): Delete.
+	(region::remap_region_ids): Delete.
+	(region::add_view): Delete.
+	(region::get_view): Delete.
+	(region::region): Move to region.cc.
+	(region::add_to_hash): Delete.
+	(region::print_fields): Delete.
+	(region::non_null_p): Delete.
+	(primitive_region::clone): Delete.
+	(primitive_region::walk_for_canonicalization): Delete.
+	(map_region::map_region): Delete.
+	(map_region::compare_fields): Delete.
+	(map_region::print_fields): Delete.
+	(map_region::validate): Delete.
+	(map_region::dump_dot_to_pp): Delete.
+	(map_region::dump_child_label): Delete.
+	(map_region::get_or_create): Delete.
+	(map_region::get): Delete.
+	(map_region::add_to_hash): Delete.
+	(map_region::remap_region_ids): Delete.
+	(map_region::unbind): Delete.
+	(map_region::get_tree_for_child_region): Delete.
+	(map_region::get_tree_for_child_region): Delete.
+	(tree_cmp): Move to region.cc.
+	(map_region::can_merge_p): Delete.
+	(map_region::walk_for_canonicalization): Delete.
+	(map_region::get_value_by_name): Delete.
+	(struct_or_union_region::valid_key_p): Delete.
+	(struct_or_union_region::compare_fields): Delete.
+	(struct_region::clone): Delete.
+	(struct_region::compare_fields): Delete.
+	(union_region::clone): Delete.
+	(union_region::compare_fields): Delete.
+	(frame_region::compare_fields): Delete.
+	(frame_region::clone): Delete.
+	(frame_region::valid_key_p): Delete.
+	(frame_region::print_fields): Delete.
+	(frame_region::add_to_hash): Delete.
+	(globals_region::compare_fields): Delete.
+	(globals_region::clone): Delete.
+	(globals_region::valid_key_p): Delete.
+	(code_region::compare_fields): Delete.
+	(code_region::clone): Delete.
+	(code_region::valid_key_p): Delete.
+	(array_region::array_region): Delete.
+	(array_region::get_element): Delete.
+	(array_region::clone): Delete.
+	(array_region::compare_fields): Delete.
+	(array_region::print_fields): Delete.
+	(array_region::validate): Delete.
+	(array_region::dump_dot_to_pp): Delete.
+	(array_region::dump_child_label): Delete.
+	(array_region::get_or_create): Delete.
+	(array_region::get): Delete.
+	(array_region::add_to_hash): Delete.
+	(array_region::remap_region_ids): Delete.
+	(array_region::get_key_for_child_region): Delete.
+	(array_region::key_cmp): Delete.
+	(array_region::walk_for_canonicalization): Delete.
+	(array_region::key_from_constant): Delete.
+	(array_region::constant_from_key): Delete.
+	(function_region::compare_fields): Delete.
+	(function_region::clone): Delete.
+	(function_region::valid_key_p): Delete.
+	(stack_region::stack_region): Delete.
+	(stack_region::compare_fields): Delete.
+	(stack_region::clone): Delete.
+	(stack_region::print_fields): Delete.
+	(stack_region::dump_child_label): Delete.
+	(stack_region::validate): Delete.
+	(stack_region::push_frame): Delete.
+	(stack_region::get_current_frame_id): Delete.
+	(stack_region::pop_frame): Delete.
+	(stack_region::add_to_hash): Delete.
+	(stack_region::remap_region_ids): Delete.
+	(stack_region::can_merge_p): Delete.
+	(stack_region::walk_for_canonicalization): Delete.
+	(stack_region::get_value_by_name): Delete.
+	(heap_region::heap_region): Delete.
+	(heap_region::compare_fields): Delete.
+	(heap_region::clone): Delete.
+	(heap_region::walk_for_canonicalization): Delete.
+	(root_region::root_region): Delete.
+	(root_region::compare_fields): Delete.
+	(root_region::clone): Delete.
+	(root_region::print_fields): Delete.
+	(root_region::validate): Delete.
+	(root_region::dump_child_label): Delete.
+	(root_region::push_frame): Delete.
+	(root_region::get_current_frame_id): Delete.
+	(root_region::pop_frame): Delete.
+	(root_region::ensure_stack_region): Delete.
+	(root_region::get_stack_region): Delete.
+	(root_region::ensure_globals_region): Delete.
+	(root_region::get_code_region): Delete.
+	(root_region::ensure_code_region): Delete.
+	(root_region::get_globals_region): Delete.
+	(root_region::ensure_heap_region): Delete.
+	(root_region::get_heap_region): Delete.
+	(root_region::remap_region_ids): Delete.
+	(root_region::can_merge_p): Delete.
+	(root_region::add_to_hash): Delete.
+	(root_region::walk_for_canonicalization): Delete.
+	(root_region::get_value_by_name): Delete.
+	(symbolic_region::symbolic_region): Delete.
+	(symbolic_region::compare_fields): Delete.
+	(symbolic_region::clone): Delete.
+	(symbolic_region::walk_for_canonicalization): Delete.
+	(symbolic_region::print_fields): Delete.
+	(region_model::region_model): Add region_model_manager * param.
+	Reimplement in terms of store, dropping impl_constraint_manager
+	subclass.
+	(region_model::operator=): Reimplement in terms of store
+	(region_model::operator==): Likewise.
+	(region_model::hash): Likewise.
+	(region_model::print): Delete.
+	(region_model::print_svalue): Delete.
+	(region_model::dump_dot_to_pp): Delete.
+	(region_model::dump_dot_to_file): Delete.
+	(region_model::dump_dot): Delete.
+	(region_model::dump_to_pp): Replace "summarize" param with
+	"simple" and "multiline".  Port to store-based implementation.
+	(region_model::dump): Replace "summarize" param with "simple" and
+	"multiline".
+	(dump_vec_of_tree): Delete.
+	(region_model::dump_summary_of_rep_path_vars): Delete.
+	(region_model::validate): Delete.
+	(svalue_id_cmp_by_constant_svalue_model): Delete.
+	(svalue_id_cmp_by_constant_svalue): Delete.
+	(region_model::canonicalize): Drop "ctxt" param.  Reimplement in
+	terms of store and constraints.
+	(region_model::canonicalized_p): Remove NULL arg to canonicalize.
+	(region_model::loop_replay_fixup): New.
+	(poisoned_value_diagnostic::emit): Tweak wording of warnings.
+	(region_model::check_for_poison): Delete.
+	(region_model::get_gassign_result): New.
+	(region_model::on_assignment): Port to store-based implementation.
+	(region_model::on_call_pre): Delete calls to check_for_poison.
+	Move implementations to region-model-impl-calls.c and port to
+	store-based implementation.
+	(region_model::on_call_post): Likewise.
+	(class reachable_regions): Move to region-model-reachability.h/cc
+	and port to store-based implementation.
+	(region_model::handle_unrecognized_call): Port to store-based
+	implementation.
+	(region_model::get_reachable_svalues): New.
+	(region_model::on_setjmp): Port to store-based implementation.
+	(region_model::on_longjmp): Likewise.
+	(region_model::handle_phi): Drop is_back_edge param and the logic
+	using it.
+	(region_model::get_lvalue_1): Port from region_id to const region *.
+	(region_model::make_region_for_unexpected_tree_code): Delete.
+	(assert_compat_types): If the check fails, use internal_error to
+	show the types.
+	(region_model::get_lvalue): Port from region_id to const region *.
+	(region_model::get_rvalue_1): Port from svalue_id to const svalue *.
+	(region_model::get_rvalue): Likewise.
+	(region_model::get_or_create_ptr_svalue): Delete.
+	(region_model::get_or_create_constant_svalue): Delete.
+	(region_model::get_svalue_for_fndecl): Delete.
+	(region_model::get_region_for_fndecl): Delete.
+	(region_model::get_svalue_for_label): Delete.
+	(region_model::get_region_for_label): Delete.
+	(build_cast): Delete.
+	(region_model::maybe_cast_1): Delete.
+	(region_model::maybe_cast): Delete.
+	(region_model::get_field_region): Delete.
+	(region_model::get_store_value): New.
+	(region_model::region_exists_p): New.
+	(region_model::deref_rvalue): Port from svalue_id to const svalue *.
+	(region_model::set_value): Likewise.
+	(region_model::clobber_region): New.
+	(region_model::purge_region): New.
+	(region_model::zero_fill_region): New.
+	(region_model::mark_region_as_unknown): New.
+	(region_model::eval_condition): Port from svalue_id to
+	const svalue *.
+	(region_model::eval_condition_without_cm): Likewise.
+	(region_model::compare_initial_and_pointer): New.
+	(region_model::add_constraint): Port from svalue_id to
+	const svalue *.
+	(region_model::maybe_get_constant): Delete.
+	(region_model::get_representative_path_var): New.
+	(region_model::add_new_malloc_region): Delete.
+	(region_model::get_representative_tree): Port to const svalue *.
+	(region_model::get_representative_path_var): Port to
+	const region *.
+	(region_model::get_path_vars_for_svalue): Delete.
+	(region_model::set_to_new_unknown_value): Delete.
+	(region_model::update_for_phis): Don't pass is_back_edge to handle_phi.
+	(region_model::update_for_call_superedge): Port from svalue_id to
+	const svalue *.
+	(region_model::update_for_return_superedge): Port to store-based
+	implementation.
+	(region_model::update_for_call_summary): Replace
+	set_to_new_unknown_value with mark_region_as_unknown.
+	(region_model::get_root_region): Delete.
+	(region_model::get_stack_region_id): Delete.
+	(region_model::push_frame): Delete.
+	(region_model::get_current_frame_id): Delete.
+	(region_model::get_current_function): Delete.
+	(region_model::pop_frame): Delete.
+	(region_model::on_top_level_param): New.
+	(region_model::get_stack_depth): Delete.
+	(region_model::get_function_at_depth): Delete.
+	(region_model::get_globals_region_id): Delete.
+	(region_model::add_svalue): Delete.
+	(region_model::replace_svalue): Delete.
+	(region_model::add_region): Delete.
+	(region_model::get_svalue): Delete.
+	(region_model::get_region): Delete.
+	(make_region_for_type): Delete.
+	(region_model::add_region_for_type): Delete.
+	(region_model::on_top_level_param): New.
+	(class restrict_to_used_svalues): Delete.
+	(region_model::purge_unused_svalues): Delete.
+	(region_model::push_frame): New.
+	(region_model::remap_svalue_ids): Delete.
+	(region_model::remap_region_ids): Delete.
+	(region_model::purge_regions): Delete.
+	(region_model::get_descendents): Delete.
+	(region_model::delete_region_and_descendents): Delete.
+	(region_model::poison_any_pointers_to_bad_regions): Delete.
+	(region_model::can_merge_with_p): Delete.
+	(region_model::get_current_function): New.
+	(region_model::get_value_by_name): Delete.
+	(region_model::convert_byte_offset_to_array_index): Delete.
+	(region_model::pop_frame): New.
+	(region_model::get_or_create_mem_ref): Delete.
+	(region_model::get_stack_depth): New.
+	(region_model::get_frame_at_index): New.
+	(region_model::unbind_region_and_descendents): New.
+	(struct bad_pointer_finder): New.
+	(region_model::get_or_create_pointer_plus_expr): Delete.
+	(region_model::poison_any_pointers_to_descendents): New.
+	(region_model::get_or_create_view): Delete.
+	(region_model::can_merge_with_p): New.
+	(region_model::get_fndecl_for_call):  Port from svalue_id to
+	const svalue *.
+	(struct append_ssa_names_cb_data): New.
+	(get_ssa_name_regions_for_current_frame): New.
+	(region_model::append_ssa_names_cb): New.
+	(model_merger::dump_to_pp): Add "simple" param.  Drop dumping of
+	remappings.
+	(model_merger::dump): Add "simple" param to both overloads.
+	(model_merger::can_merge_values_p): Delete.
+	(model_merger::record_regions): Delete.
+	(model_merger::record_svalues): Delete.
+	(svalue_id_merger_mapping::svalue_id_merger_mapping): Delete.
+	(svalue_id_merger_mapping::dump_to_pp): Delete.
+	(svalue_id_merger_mapping::dump): Delete.
+	(region_model::create_region_for_heap_alloc): New.
+	(region_model::create_region_for_alloca): New.
+	(region_model::record_dynamic_extents): New.
+	(canonicalization::canonicalization): Delete.
+	(canonicalization::walk_rid): Delete.
+	(canonicalization::walk_sid): Delete.
+	(canonicalization::dump_to_pp): Delete.
+	(canonicalization::dump): Delete.
+	(inchash::add): Delete overloads for svalue_id and region_id.
+	(engine::log_stats): New.
+	(assert_condition): Add overload comparing svalues.
+	(assert_dump_eq): Pass "true" for multiline.
+	(selftest::test_dump): Update for rewrite of region_model.
+	(selftest::test_dump_2): Rename to...
+	(selftest::test_struct): ...this.  Provide a region_model_manager
+	when creating region_model instance.  Remove dump test.  Add
+	checks for get_offset.
+	(selftest::test_dump_3): Rename to...
+	(selftest::test_array_1): ...this.  Provide a region_model_manager
+	when creating region_model instance.  Remove dump test.
+	(selftest::test_get_representative_tree): Port from svalue_id to
+	new API.  Add test coverage for various expressions.
+	(selftest::test_unique_constants): Provide a region_model_manager
+	for the region_model.  Add test coverage for comparing const vs
+	non-const.
+	(selftest::test_svalue_equality): Delete.
+	(selftest::test_region_equality): Delete.
+	(selftest::test_unique_unknowns): New.
+	(class purge_all_svalue_ids): Delete.
+	(class purge_one_svalue_id): Delete.
+	(selftest::test_purging_by_criteria): Delete.
+	(selftest::test_initial_svalue_folding): New.
+	(selftest::test_unaryop_svalue_folding): New.
+	(selftest::test_binop_svalue_folding): New.
+	(selftest::test_sub_svalue_folding): New.
+	(selftest::test_purge_unused_svalues): Delete.
+	(selftest::test_descendent_of_p): New.
+	(selftest::test_assignment): Provide a region_model_manager for
+	the region_model.  Drop the dump test.
+	(selftest::test_compound_assignment): Likewise.
+	(selftest::test_stack_frames): Port to new implementation.
+	(selftest::test_get_representative_path_var): Likewise.
+	(selftest::test_canonicalization_1): Rename to...
+	(selftest::test_equality_1): ...this.  Port to new API, and add
+	(selftest::test_canonicalization_2): Provide a
+	region_model_manager when creating region_model instances.
+	Remove redundant canicalization.
+	(selftest::test_canonicalization_3): Provide a
+	region_model_manager when creating region_model instances.
+	Remove param from calls to region_model::canonicalize.
+	(selftest::test_canonicalization_4): Likewise.
+	(selftest::assert_region_models_merge): Constify
+	out_merged_svalue.  Port to new API.
+	(selftest::test_state_merging): Provide a
+	region_model_manager when creating region_model instances.
+	Provide a program_point point when merging them.  Replace
+	set_to_new_unknown_value with usage of placeholder_svalues.
+	Drop get_value_by_name.  Port from svalue_id to const svalue *.
+	Add test of heap allocation.
+	(selftest::test_constraint_merging):  Provide a
+	region_model_manager when creating region_model instances.
+	Provide a program_point point when merging them.  Eliminate use
+	of set_to_new_unknown_value.
+	(selftest::test_widening_constraints): New.
+	(selftest::test_iteration_1): New.
+	(selftest::test_malloc_constraints): Port to store-based
+	implementation.
+	(selftest::test_var): New test.
+	(selftest::test_array_2): New test.
+	(selftest::test_mem_ref): New test.
+	(selftest::test_POINTER_PLUS_EXPR_then_MEM_REF): New.
+	(selftest::test_malloc): New.
+	(selftest::test_alloca): New.
+	(selftest::analyzer_region_model_cc_tests): Update for renamings.
+	Call new functions.
+	* region-model.h (class path_var): Move to analyzer.h.
+	(class svalue_id): Delete.
+	(class region_id): Delete.
+	(class id_map): Delete.
+	(svalue_id_map): Delete.
+	(region_id_map): Delete.
+	(id_map<T>::id_map): Delete.
+	(id_map<T>::put): Delete.
+	(id_map<T>::get_dst_for_src): Delete.
+	(id_map<T>::get_src_for_dst): Delete.
+	(id_map<T>::dump_to_pp): Delete.
+	(id_map<T>::dump): Delete.
+	(id_map<T>::update): Delete.
+	(one_way_svalue_id_map): Delete.
+	(one_way_region_id_map): Delete.
+	(class region_id_set): Delete.
+	(class svalue_id_set): Delete.
+	(struct complexity): New.
+	(class visitor): New.
+	(enum svalue_kind): Add SK_SETJMP, SK_INITIAL, SK_UNARYOP,
+	SK_BINOP, SK_SUB,SK_UNMERGEABLE, SK_PLACEHOLDER, SK_WIDENING,
+	SK_COMPOUND, and SK_CONJURED.
+	(svalue::operator==): Delete.
+	(svalue::operator!=): Delete.
+	(svalue::clone): Delete.
+	(svalue::hash): Delete.
+	(svalue::dump_dot_to_pp): Delete.
+	(svalue::dump_to_pp): New.
+	(svalue::dump): New.
+	(svalue::get_desc): New.
+	(svalue::dyn_cast_initial_svalue): New.
+	(svalue::dyn_cast_unaryop_svalue): New.
+	(svalue::dyn_cast_binop_svalue): New.
+	(svalue::dyn_cast_sub_svalue): New.
+	(svalue::dyn_cast_unmergeable_svalue): New.
+	(svalue::dyn_cast_widening_svalue): New.
+	(svalue::dyn_cast_compound_svalue): New.
+	(svalue::dyn_cast_conjured_svalue): New.
+	(svalue::maybe_undo_cast): New.
+	(svalue::unwrap_any_unmergeable): New.
+	(svalue::remap_region_ids): Delete
+	(svalue::can_merge_p): New.
+	(svalue::walk_for_canonicalization): Delete
+	(svalue::get_complexity): New.
+	(svalue::get_child_sid): Delete
+	(svalue::accept): New.
+	(svalue::live_p): New.
+	(svalue::implicitly_live_p): New.
+	(svalue::svalue): Add complexity param.
+	(svalue::add_to_hash): Delete
+	(svalue::print_details): Delete
+	(svalue::m_complexity): New field.
+	(region_svalue::key_t): New struct.
+	(region_svalue::region_svalue): Port from region_id to
+	const region_id *.  Add complexity.
+	(region_svalue::compare_fields): Delete.
+	(region_svalue::clone): Delete.
+	(region_svalue::dump_dot_to_pp): Delete.
+	(region_svalue::get_pointee): Port from region_id to
+	const region_id *.
+	(region_svalue::remap_region_ids): Delete.
+	(region_svalue::merge_values): Delete.
+	(region_svalue::dump_to_pp): New.
+	(region_svalue::accept): New.
+	(region_svalue::walk_for_canonicalization): Delete.
+	(region_svalue::eval_condition): Make params const.
+	(region_svalue::add_to_hash): Delete.
+	(region_svalue::print_details): Delete.
+	(region_svalue::m_rid): Replace with...
+	(region_svalue::m_reg): ...this.
+	(is_a_helper <region_svalue *>::test): Convert to...
+	(is_a_helper <const region_svalue *>::test): ...this.
+	(template <> struct default_hash_traits<region_svalue::key_t>):
+	New.
+	(constant_svalue::constant_svalue): Add complexity.
+	(constant_svalue::compare_fields): Delete.
+	(constant_svalue::clone): Delete.
+	(constant_svalue::add_to_hash): Delete.
+	(constant_svalue::dump_to_pp): New.
+	(constant_svalue::accept): New.
+	(constant_svalue::implicitly_live_p): New.
+	(constant_svalue::merge_values): Delete.
+	(constant_svalue::eval_condition): Make params const.
+	(constant_svalue::get_child_sid): Delete.
+	(constant_svalue::print_details): Delete.
+	(is_a_helper <constant_svalue *>::test): Convert to...
+	(is_a_helper <const constant_svalue *>::test): ...this.
+	(class unknown_svalue): Update leading comment.
+	(unknown_svalue::unknown_svalue): Add complexity.
+	(unknown_svalue::compare_fields): Delete.
+	(unknown_svalue::add_to_hash): Delete.
+	(unknown_svalue::dyn_cast_unknown_svalue): Delete.
+	(unknown_svalue::print_details): Delete.
+	(unknown_svalue::dump_to_pp): New.
+	(unknown_svalue::accept): New.
+	(poisoned_svalue::key_t): New struct.
+	(poisoned_svalue::poisoned_svalue): Add complexity.
+	(poisoned_svalue::compare_fields): Delete.
+	(poisoned_svalue::clone): Delete.
+	(poisoned_svalue::add_to_hash): Delete.
+	(poisoned_svalue::dump_to_pp): New.
+	(poisoned_svalue::accept): New.
+	(poisoned_svalue::print_details): Delete.
+	(is_a_helper <poisoned_svalue *>::test): Convert to...
+	(is_a_helper <const poisoned_svalue *>::test): ...this.
+	(template <> struct default_hash_traits<poisoned_svalue::key_t>):
+	New.
+	(setjmp_record::add_to_hash): New.
+	(setjmp_svalue::key_t): New struct.
+	(setjmp_svalue::compare_fields): Delete.
+	(setjmp_svalue::clone): Delete.
+	(setjmp_svalue::add_to_hash): Delete.
+	(setjmp_svalue::setjmp_svalue): Add complexity.
+	(setjmp_svalue::dump_to_pp): New.
+	(setjmp_svalue::accept): New.
+	(setjmp_svalue::void print_details): Delete.
+	(is_a_helper <const setjmp_svalue *>::test): New.
+	(template <> struct default_hash_traits<setjmp_svalue::key_t>): New.
+	(class initial_svalue : public svalue): New.
+	(is_a_helper <const initial_svalue *>::test): New.
+	(class unaryop_svalue): New.
+	(is_a_helper <const unaryop_svalue *>::test): New.
+	(template <> struct default_hash_traits<unaryop_svalue::key_t>): New.
+	(class binop_svalue): New.
+	(is_a_helper <const binop_svalue *>::test): New.
+	(template <> struct default_hash_traits<binop_svalue::key_t>): New.
+	(class sub_svalue): New.
+	(is_a_helper <const sub_svalue *>::test): New.
+	(template <> struct default_hash_traits<sub_svalue::key_t>): New.
+	(class unmergeable_svalue): New.
+	(is_a_helper <const unmergeable_svalue *>::test): New.
+	(class placeholder_svalue): New.
+	(is_a_helper <placeholder_svalue *>::test): New.
+	(class widening_svalue): New.
+	(is_a_helper <widening_svalue *>::test): New.
+	(template <> struct default_hash_traits<widening_svalue::key_t>): New.
+	(class compound_svalue): New.
+	(is_a_helper <compound_svalue *>::test): New.
+	(template <> struct default_hash_traits<compound_svalue::key_t>): New.
+	(class conjured_svalue): New.
+	(is_a_helper <conjured_svalue *>::test): New.
+	(template <> struct default_hash_traits<conjured_svalue::key_t>): New.
+	(enum region_kind): Delete RK_PRIMITIVE, RK_STRUCT, RK_UNION, and
+	RK_ARRAY.  Add RK_LABEL, RK_DECL, RK_FIELD, RK_ELEMENT, RK_OFFSET,
+	RK_CAST, RK_HEAP_ALLOCATED, RK_ALLOCA, RK_STRING, and RK_UNKNOWN.
+	(region_kind_to_str): Delete.
+	(region::~region): Move implementation to region.cc.
+	(region::operator==): Delete.
+	(region::operator!=): Delete.
+	(region::clone): Delete.
+	(region::get_id): New.
+	(region::cmp_ids): New.
+	(region::dyn_cast_map_region): Delete.
+	(region::dyn_cast_array_region): Delete.
+	(region::region_id get_parent): Delete.
+	(region::get_parent_region): Convert to a simple accessor.
+	(region::void set_value): Delete.
+	(region::svalue_id get_value): Delete.
+	(region::svalue_id get_value_direct): Delete.
+	(region::svalue_id get_inherited_child_sid): Delete.
+	(region::dyn_cast_frame_region): New.
+	(region::dyn_cast_function_region): New.
+	(region::dyn_cast_decl_region): New.
+	(region::dyn_cast_field_region): New.
+	(region::dyn_cast_element_region): New.
+	(region::dyn_cast_offset_region): New.
+	(region::dyn_cast_cast_region): New.
+	(region::dyn_cast_string_region): New.
+	(region::accept): New.
+	(region::get_base_region): New.
+	(region::base_region_p): New.
+	(region::descendent_of_p): New.
+	(region::maybe_get_frame_region): New.
+	(region::maybe_get_decl): New.
+	(region::hash): Delete.
+	(region::rint): Delete.
+	(region::dump_dot_to_pp): Delete.
+	(region::get_desc): New.
+	(region::dump_to_pp): Convert to vfunc, changing signature.
+	(region::dump_child_label): Delete.
+	(region::remap_svalue_ids): Delete.
+	(region::remap_region_ids): Delete.
+	(region::dump): New.
+	(region::walk_for_canonicalization): Delete.
+	(region::non_null_p): Drop region_model param.
+	(region::add_view): Delete.
+	(region::get_view): Delete.
+	(region::get_active_view): Delete.
+	(region::is_view_p): Delete.
+	(region::cmp_ptrs): New.
+	(region::validate): Delete.
+	(region::get_offset): New.
+	(region::get_byte_size): New.
+	(region::get_bit_size): New.
+	(region::get_subregions_for_binding): New.
+	(region::region): Add complexity param.  Convert parent from
+	region_id to const region *.  Drop svalue_id.  Drop copy ctor.
+	(region::symbolic_for_unknown_ptr_p): New.
+	(region::add_to_hash): Delete.
+	(region::print_fields): Delete.
+	(region::get_complexity): New accessor.
+	(region::become_active_view): Delete.
+	(region::deactivate_any_active_view): Delete.
+	(region::deactivate_view): Delete.
+	(region::calc_offset): New.
+	(region::m_parent_rid): Delete.
+	(region::m_sval_id): Delete.
+	(region::m_complexity): New.
+	(region::m_id): New.
+	(region::m_parent): New.
+	(region::m_view_rids): Delete.
+	(region::m_is_view): Delete.
+	(region::m_active_view_rid): Delete.
+	(region::m_cached_offset): New.
+	(is_a_helper <region *>::test): Convert to...
+	(is_a_helper <const region *>::test): ... this.
+	(class primitive_region): Delete.
+	(class space_region): New.
+	(class map_region): Delete.
+	(is_a_helper <map_region *>::test): Delete.
+	(class frame_region): Reimplement.
+	(template <> struct default_hash_traits<frame_region::key_t>):
+	New.
+	(class globals_region): Reimplement.
+	(is_a_helper <globals_region *>::test): Convert to...
+	(is_a_helper <const globals_region *>::test): ...this.
+	(class struct_or_union_region): Delete.
+	(is_a_helper <struct_or_union_region *>::test): Delete.
+	(class code_region): Reimplement.
+	(is_a_helper <const code_region *>::test): New.
+	(class struct_region): Delete.
+	(is_a_helper <struct_region *>::test): Delete.
+	(class function_region): Reimplement.
+	(is_a_helper <function_region *>::test): Convert to...
+	(is_a_helper <const function_region *>::test): ...this.
+	(class union_region): Delete.
+	(is_a_helper <union_region *>::test): Delete.
+	(class label_region): New.
+	(is_a_helper <const label_region *>::test): New.
+	(class scope_region): Delete.
+	(class stack_region): Reimplement.
+	(is_a_helper <stack_region *>::test): Convert to...
+	(is_a_helper <const stack_region *>::test): ...this.
+	(class heap_region): Reimplement.
+	(is_a_helper <heap_region *>::test): Convert to...
+	(is_a_helper <const heap_region *>::test): ...this.
+	(class root_region): Reimplement.
+	(is_a_helper <root_region *>::test): Convert to...
+	(is_a_helper <const root_region *>::test): ...this.
+	(class symbolic_region): Reimplement.
+	(is_a_helper <const symbolic_region *>::test): New.
+	(template <> struct default_hash_traits<symbolic_region::key_t>):
+	New.
+	(class decl_region): New.
+	(is_a_helper <const decl_region *>::test): New.
+	(class field_region): New.
+	(template <> struct default_hash_traits<field_region::key_t>): New.
+	(class array_region): Delete.
+	(class element_region): New.
+	(is_a_helper <array_region *>::test): Delete.
+	(is_a_helper <const element_region *>::test): New.
+	(template <> struct default_hash_traits<element_region::key_t>):
+	New.
+	(class offset_region): New.
+	(is_a_helper <const offset_region *>::test): New.
+	(template <> struct default_hash_traits<offset_region::key_t>):
+	New.
+	(class cast_region): New.
+	(is_a_helper <const cast_region *>::test): New.
+	(template <> struct default_hash_traits<cast_region::key_t>): New.
+	(class heap_allocated_region): New.
+	(class alloca_region): New.
+	(class string_region): New.
+	(is_a_helper <const string_region *>::test): New.
+	(class unknown_region): New.
+	(class region_model_manager): New.
+	(struct append_ssa_names_cb_data): New.
+	(class call_details): New.
+	(region_model::region_model): Add region_model_manager param.
+	(region_model::print_svalue): Delete.
+	(region_model::dump_dot_to_pp): Delete.
+	(region_model::dump_dot_to_file): Delete.
+	(region_model::dump_dot): Delete.
+	(region_model::dump_to_pp): Drop summarize param in favor of
+	simple and multiline.
+	(region_model::dump): Likewise.
+	(region_model::summarize_to_pp): Delete.
+	(region_model::summarize): Delete.
+	(region_model::void canonicalize): Drop ctxt param.
+	(region_model::void check_for_poison): Delete.
+	(region_model::get_gassign_result): New.
+	(region_model::impl_call_alloca): New.
+	(region_model::impl_call_analyzer_describe): New.
+	(region_model::impl_call_analyzer_eval): New.
+	(region_model::impl_call_builtin_expect): New.
+	(region_model::impl_call_calloc): New.
+	(region_model::impl_call_free): New.
+	(region_model::impl_call_malloc): New.
+	(region_model::impl_call_memset): New.
+	(region_model::impl_call_strlen): New.
+	(region_model::get_reachable_svalues): New.
+	(region_model::handle_phi): Drop is_back_edge param.
+	(region_model::region_id get_root_rid): Delete.
+	(region_model::root_region *get_root_region): Delete.
+	(region_model::region_id get_stack_region_id): Delete.
+	(region_model::push_frame): Convert from region_id and svalue_id
+	to const region * and const svalue *.
+	(region_model::get_current_frame_id): Replace with...
+	(region_model::get_current_frame): ...this.
+	(region_model::pop_frame): Convert from region_id to
+	const region *.  Drop purge and stats param.  Add out_result.
+	(region_model::function *get_function_at_depth): Delete.
+	(region_model::get_globals_region_id): Delete.
+	(region_model::add_svalue): Delete.
+	(region_model::replace_svalue): Delete.
+	(region_model::add_region): Delete.
+	(region_model::add_region_for_type): Delete.
+	(region_model::get_svalue): Delete.
+	(region_model::get_region): Delete.
+	(region_model::get_lvalue): Convert from region_id to
+	const region *.
+	(region_model::get_rvalue): Convert from svalue_id to
+	const svalue *.
+	(region_model::get_or_create_ptr_svalue): Delete.
+	(region_model::get_or_create_constant_svalue): Delete.
+	(region_model::get_svalue_for_fndecl): Delete.
+	(region_model::get_svalue_for_label): Delete.
+	(region_model::get_region_for_fndecl): Delete.
+	(region_model::get_region_for_label): Delete.
+	(region_model::get_frame_at_index (int index) const;): New.
+	(region_model::maybe_cast): Delete.
+	(region_model::maybe_cast_1): Delete.
+	(region_model::get_field_region): Delete.
+	(region_model::id deref_rvalue): Convert from region_id and
+	svalue_id to const region * and const svalue *.  Drop overload,
+	passing in both a tree and an svalue.
+	(region_model::set_value): Convert from region_id and svalue_id to
+	const region * and const svalue *.
+	(region_model::set_to_new_unknown_value): Delete.
+	(region_model::clobber_region (const region *reg);): New.
+	(region_model::purge_region (const region *reg);): New.
+	(region_model::zero_fill_region (const region *reg);): New.
+	(region_model::mark_region_as_unknown (const region *reg);): New.
+	(region_model::copy_region): Convert from region_id to
+	const region *.
+	(region_model::eval_condition): Convert from svalue_id to
+	const svalue *.
+	(region_model::eval_condition_without_cm): Likewise.
+	(region_model::compare_initial_and_pointer): New.
+	(region_model:maybe_get_constant): Delete.
+	(region_model::add_new_malloc_region): Delete.
+	(region_model::get_representative_tree): Convert from svalue_id to
+	const svalue *.
+	(region_model::get_representative_path_var): Delete decl taking a
+	region_id in favor of two decls, for svalue vs region, with an
+	svalue_set to ensure termination.
+	(region_model::get_path_vars_for_svalue): Delete.
+	(region_model::create_region_for_heap_alloc): New.
+	(region_model::create_region_for_alloca): New.
+	(region_model::purge_unused_svalues): Delete.
+	(region_model::remap_svalue_ids): Delete.
+	(region_model::remap_region_ids): Delete.
+	(region_model::purge_regions): Delete.
+	(region_model::get_num_svalues): Delete.
+	(region_model::get_num_regions): Delete.
+	(region_model::get_descendents): Delete.
+	(region_model::get_store): New.
+	(region_model::delete_region_and_descendents): Delete.
+	(region_model::get_manager): New.
+	(region_model::unbind_region_and_descendents): New.
+	(region_model::can_merge_with_p): Add point param.  Drop
+	svalue_id_merger_mapping.
+	(region_model::get_value_by_name): Delete.
+	(region_model::convert_byte_offset_to_array_index): Delete.
+	(region_model::get_or_create_mem_ref): Delete.
+	(region_model::get_or_create_pointer_plus_expr): Delete.
+	(region_model::get_or_create_view): Delete.
+	(region_model::get_lvalue_1): Convert from region_id to
+	const region *.
+	(region_model::get_rvalue_1): Convert from svalue_id to
+	const svalue *.
+	(region_model::get_ssa_name_regions_for_current_frame): New.
+	(region_model::append_ssa_names_cb): New.
+	(region_model::get_store_value): New.
+	(region_model::copy_struct_region): Delete.
+	(region_model::copy_union_region): Delete.
+	(region_model::copy_array_region): Delete.
+	(region_model::region_exists_p): New.
+	(region_model::make_region_for_unexpected_tree_code): Delete.
+	(region_model::loop_replay_fixup): New.
+	(region_model::poison_any_pointers_to_bad_regions): Delete.
+	(region_model::poison_any_pointers_to_descendents): New.
+	(region_model::dump_summary_of_rep_path_vars): Delete.
+	(region_model::on_top_level_param): New.
+	(region_model::record_dynamic_extents): New.
+	(region_model::m_mgr;): New.
+	(region_model::m_store;): New.
+	(region_model::m_svalues;): Delete.
+	(region_model::m_regions;): Delete.
+	(region_model::m_root_rid;): Delete.
+	(region_model::m_current_frame;): New.
+	(region_model_context::remap_svalue_ids): Delete.
+	(region_model_context::can_purge_p): Delete.
+	(region_model_context::on_svalue_leak): New.
+	(region_model_context::on_svalue_purge): Delete.
+	(region_model_context::on_liveness_change): New.
+	(region_model_context::on_inherited_svalue): Delete.
+	(region_model_context::on_cast): Delete.
+	(region_model_context::on_unknown_change): Convert from svalue_id to
+	const svalue * and add is_mutable.
+	(class noop_region_model_context): Update for region_model_context
+	changes.
+	(model_merger::model_merger): Add program_point.  Drop
+	svalue_id_merger_mapping.
+	(model_merger::dump_to_pp): Add "simple" param.
+	(model_merger::dump): Likewise.
+	(model_merger::get_region_a): Delete.
+	(model_merger::get_region_b): Delete.
+	(model_merger::can_merge_values_p): Delete.
+	(model_merger::record_regions): Delete.
+	(model_merger::record_svalues): Delete.
+	(model_merger::m_point): New field.
+	(model_merger::m_map_regions_from_a_to_m): Delete.
+	(model_merger::m_map_regions_from_b_to_m): Delete.
+	(model_merger::m_sid_mapping): Delete.
+	(struct svalue_id_merger_mapping): Delete.
+	(class engine): New.
+	(struct canonicalization): Delete.
+	(inchash::add): Delete decls for hashing svalue_id and region_id.
+	(test_region_model_context::on_unexpected_tree_code): Require t to
+	be non-NULL.
+	(selftest::assert_condition): Add overload comparing a pair of
+	const svalue *.
+	* sm-file.cc: Include "tristate.h", "selftest.h",
+	"analyzer/call-string.h", "analyzer/program-point.h",
+	"analyzer/store.h", and "analyzer/region-model.h".
+	(fileptr_state_machine::get_default_state): New.
+	(fileptr_state_machine::on_stmt): Remove calls to
+	get_readable_tree in favor of get_diagnostic_tree.
+	* sm-malloc.cc: Include "tristate.h", "selftest.h",
+	"analyzer/call-string.h", "analyzer/program-point.h",
+	"analyzer/store.h", and "analyzer/region-model.h".
+	(malloc_state_machine::get_default_state): New.
+	(malloc_state_machine::reset_when_passed_to_unknown_fn_p): New.
+	(malloc_diagnostic::describe_state_change): Handle change.m_expr
+	being NULL.
+	(null_arg::emit): Avoid printing "NULL '0'".
+	(null_arg::describe_final_event): Avoid printing "(0) NULL".
+	(malloc_leak::emit): Handle m_arg being NULL.
+	(malloc_leak::describe_final_event): Handle ev.m_expr being NULL.
+	(malloc_state_machine::on_stmt): Don't call get_readable_tree.
+	Call get_diagnostic_tree when creating pending diagnostics.
+	Update for is_zero_assignment becoming a member function of
+	sm_ctxt.
+	Don't transition to m_non_heap for ADDR_EXPR(MEM_REF()).
+	(malloc_state_machine::reset_when_passed_to_unknown_fn_p): New
+	vfunc implementation.
+	* sm-sensitive.cc (sensitive_state_machine::warn_for_any_exposure): Call
+	get_diagnostic_tree and pass the result to warn_for_state.
+	* sm-signal.cc: Move includes of "analyzer/call-string.h" and
+	"analyzer/program-point.h" to before "analyzer/region-model.h",
+	and also include "analyzer/store.h" before it.
+	(signal_unsafe_call::describe_state_change): Use
+	get_dest_function to get handler.
+	(update_model_for_signal_handler): Pass manager to region_model
+	ctor.
+	(register_signal_handler::impl_transition): Update for changes to
+	get_or_create_node and add_edge.
+	* sm-taint.cc (taint_state_machine::on_stmt): Remove calls to
+	get_readable_tree, replacing them when calling warn_for_state with
+	calls to get_diagnostic_tree.
+	* sm.cc (is_zero_assignment): Delete.
+	(any_pointer_p): Move to within namespace ana.
+	* sm.h (is_zero_assignment): Remove decl.
+	(any_pointer_p): Move decl to within namespace ana.
+	(state_machine::get_default_state): New vfunc.
+	(state_machine::reset_when_passed_to_unknown_fn_p): New vfunc.
+	(sm_context::get_readable_tree): Rename to...
+	(sm_context::get_diagnostic_tree): ...this.
+	(sm_context::is_zero_assignment): New vfunc.
+	* store.cc: New file.
+	* store.h: New file.
+	* svalue.cc: New file.
+
 2020-05-22  Mark Wielaard  <mark@klomp.org>
 
 	* sm-signal.cc(signal_unsafe_call::emit): Possibly add
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d0f5111d83c..07d32a5f141 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,28 @@
+2020-08-13  Nathan Sidwell  <nathan@acm.org>
+
+	* name-lookup.h (enum class LOOK_where): New.
+	(operator|, operator&): Overloads for it.
+	(lookup_name_real): Replace NONCLASS & BLOCK_P parms with WHERE.
+	* name-lookup.c (identifier_type_value_w): Adjust
+	lookup_name_real call.
+	(lookup_name_real_1): Replace NONCLASS and BLOCK_P parameters
+	with WHERE bitmask. Don't search namespaces if not asked to.
+	(lookup_name_real): Adjust lookup_name_real_1 call.
+	(lookup_name_nonclass, lookup_name)
+	(lookup_name_prefer_type): Likewise.
+	* call.c (build_operator_new_call)
+	(add_operator_candidates): Adjust lookup_name_real calls.
+	* parser.c (cp_parser_lookup_name): Likewise.
+	* pt.c (tsubst_friend_class, lookup_init_capture_pack)
+	(tsubst_expr): Likewise.
+	* semantics.c (capture_decltype): Likewise.
+
+2020-08-13  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/92812
+	* typeck.c (build_static_cast_1): Implement P1975R0 by allowing
+	static_cast to aggregate type.
+
 2020-08-10  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/96497
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fd771c03d11..f734d3cb49a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,14 @@
+2020-08-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/93671
+	* trans-array.c (structure_alloc_comps): Keep caf-mode when applying to
+	components; get the caf_token correctly for allocated scalar components.
+
+2020-08-13  Matthew Krupcale  <mkrupcale@matthewkrupcale.com>
+
+	PR fortran/96595
+	* invoke.texi: Fix typos.
+
 2020-08-12  Tobias Burnus  <tobias@codesourcery.com>
 
 	* gfortran.h: Add OMP_LIST_NONTEMPORAL.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8daa6fdd268..78eecead18c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,241 @@
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/96598
+	* gcc.dg/analyzer/pr96598.c: New test.
+
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/93032
+	PR analyzer/93938
+	PR analyzer/94011
+	PR analyzer/94099
+	PR analyzer/94399
+	PR analyzer/94458
+	PR analyzer/94503
+	PR analyzer/94640
+	PR analyzer/94688
+	PR analyzer/94689
+	PR analyzer/94839
+	PR analyzer/95026
+	PR analyzer/95042
+	PR analyzer/95240
+	* g++.dg/analyzer/pr93212.C: Add dg-warning for dangling
+	reference.
+	* g++.dg/analyzer/pr93950.C: Remove xfail.
+	* g++.dg/analyzer/pr94011.C: New test.
+	* g++.dg/analyzer/pr94028.C: Remove leak false positives; mark as
+	failing on C++98.
+	* g++.dg/analyzer/pr94503.C: New test.
+	* g++.dg/analyzer/pr95042.C: New test.
+	* gcc.dg/analyzer/CVE-2005-1689-dedupe-issue-2.c: New test.
+	* gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Add xfail.
+	* gcc.dg/analyzer/CVE-2005-1689-minimal.c:
+	Include "analyzer-decls.h".
+	(test_4, test_5, test_6, test_7, test_8): New tests.
+	* gcc.dg/analyzer/abs-1.c: New test.
+	* gcc.dg/analyzer/aliasing-1.c: New test.
+	* gcc.dg/analyzer/aliasing-2.c: New test.
+	* gcc.dg/analyzer/analyzer-decls.h (__analyzer_describe): New
+	decl.
+	(__analyzer_dump_num_heap_regions): Remove.
+	* gcc.dg/analyzer/attribute-nonnull.c: Add dg-warnings for cases
+	where NULL is directly used as an argument.
+	* gcc.dg/analyzer/bzero-1.c: New test.
+	* gcc.dg/analyzer/casts-1.c: New test.
+	* gcc.dg/analyzer/casts-2.c: New test.
+	* gcc.dg/analyzer/compound-assignment-1.c
+	(test_4): Remove xfail from leak false positive.
+	(called_by_test_5a): Add "allocated here" expected message.
+	(called_by_test_5b): Make expected leak message more precise.
+	* gcc.dg/analyzer/compound-assignment-3.c: Update expected leak
+	message.
+	* gcc.dg/analyzer/compound-assignment-4.c: New test.
+	* gcc.dg/analyzer/compound-assignment-5.c: New test.
+	* gcc.dg/analyzer/conditionals-notrans.c: Remove xfails.
+	* gcc.dg/analyzer/data-model-1.c (test_12d): Update expected
+	results.
+	(test_13): Remove xfail.
+	(test_14): Remove xfail.
+	(test_15): Remove xfail.
+	(test_16): Remove xfails.  Add out-of-bounds access.
+	(test_16_alt): Remove xfails.
+	(test_23): Remove xfail.
+	(test_24): Remove xfail.
+	(test_25): Remove xfail.
+	(test_26): Update expected result.  Remove xfail.  Add xfail.
+	(test_27): Remove xfails.
+	(test_29): Add __analyzer_eval pointer comparisons.
+	(test_41): Generalize expected output for u.ptr comparison with
+	NULL for targets where this could be known to be false.
+	(test_42): Remove xfail.
+	(test_51): Remove xfails.
+	* gcc.dg/analyzer/data-model-13.c: Update for improvements to
+	source location and wording of leak message.
+	* gcc.dg/analyzer/data-model-14.c: Remove -fanalyzer-fine-grained.
+	(test_1): Update for improvement to expected message.
+	(test_2): Remove xfail.
+	* gcc.dg/analyzer/data-model-18.c: Remove xfail.
+	* gcc.dg/analyzer/data-model-20.c: New test.
+	* gcc.dg/analyzer/data-model-5.c: Add dg-warning for deref of
+	NULL.  Add xfailing false leak.
+	* gcc.dg/analyzer/data-model-5b.c: Add xfailing false leak.
+	* gcc.dg/analyzer/data-model-5c.c: Update xfailing false leak.
+	* gcc.dg/analyzer/data-model-5d.c: Reimplement.
+	* gcc.dg/analyzer/data-model-6.c: Delete test.
+	* gcc.dg/analyzer/data-model-8.c: Remove xfail.
+	* gcc.dg/analyzer/describe-1.c: New test.
+	* gcc.dg/analyzer/dot-output.c: Remove xfail.
+	* gcc.dg/analyzer/explode-1.c: Add expected leak warning.
+	* gcc.dg/analyzer/explode-2.c: Add expected leak warnings.  Mark
+	double-free warnings as xfail for now.
+	* gcc.dg/analyzer/feasibility-1.c: New test.
+	* gcc.dg/analyzer/first-field-1.c: New test.
+	* gcc.dg/analyzer/first-field-2.c: New test.
+	* gcc.dg/analyzer/init.c: New test.
+	* gcc.dg/analyzer/leak-2.c: New test.
+	* gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: New test.
+	* gcc.dg/analyzer/loop-0-up-to-n-by-1.c: New test.
+	* gcc.dg/analyzer/loop-2a.c: Update expected behavior.
+	* gcc.dg/analyzer/loop-3.c: Mark use-after-free as xfail.  Add
+	expected warning about deref of unchecked pointer.
+	* gcc.dg/analyzer/loop-4.c: Remove -fno-analyzer-state-purge.
+	Update expected behavior.
+	* gcc.dg/analyzer/loop-n-down-to-1-by-1.c: New test.
+	* gcc.dg/analyzer/loop-start-down-to-end-by-1.c: New test.
+	* gcc.dg/analyzer/loop-start-down-to-end-by-step.c: New test.
+	* gcc.dg/analyzer/loop-start-to-end-by-step.c: New test.
+	* gcc.dg/analyzer/loop-start-up-to-end-by-1.c: New test.
+	* gcc.dg/analyzer/loop.c: Remove -fno-analyzer-state-purge.
+	Update expected behavior.
+	* gcc.dg/analyzer/malloc-1.c: Remove xfails from leak false
+	positives.  Update expected wording of global_link.m_ptr leak.
+	(test_49): New test.
+	* gcc.dg/analyzer/malloc-4.c: Remove leak false positive.  Update
+	expected wording of leak warning.
+	* gcc.dg/analyzer/malloc-in-loop.c: New test.
+	* gcc.dg/analyzer/malloc-ipa-8-double-free.c: Update expected path
+	to show call to wrapped_malloc.
+	* gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Remove
+	-fanalyzer-verbose-state-changes.
+	* gcc.dg/analyzer/malloc-paths-9.c: Remove comment about duplicate
+	warnings.  Remove duplicate use-after-free paths.
+	* gcc.dg/analyzer/malloc-vs-local-1a.c: Add dg-warning for deref
+	of unchecked pointer.  Update expected number of enodes.
+	* gcc.dg/analyzer/malloc-vs-local-2.c: Likewise.
+	* gcc.dg/analyzer/malloc-vs-local-3.c: Add dg-warning for deref of
+	unchecked pointer.  Update expected number of enodes.  Avoid
+	overspecifying the leak message.
+	* gcc.dg/analyzer/memset-1.c: New test.
+	* gcc.dg/analyzer/paths-3.c: Update expected number of enodes.
+	* gcc.dg/analyzer/paths-4.c: Likewise.
+	* gcc.dg/analyzer/paths-6.c: Likewise.
+	* gcc.dg/analyzer/paths-7.c: Likewise.
+	* gcc.dg/analyzer/pr93032-mztools-simplified.c: New test.
+	* gcc.dg/analyzer/pr93032-mztools.c: New test.
+	* gcc.dg/analyzer/pr93382.c: Mark taint tests as failing.
+	* gcc.dg/analyzer/pr93938.c: New test.
+	* gcc.dg/analyzer/pr94099.c: Replace uninit dg-warning with
+	dg-warning for NULL dereference.
+	* gcc.dg/analyzer/pr94399.c: New test.
+	* gcc.dg/analyzer/pr94447.c: Add dg-warning for NULL dereference.
+	* gcc.dg/analyzer/pr94458.c: New test.
+	* gcc.dg/analyzer/pr94640.c: New test.
+	* gcc.dg/analyzer/pr94688.c: New test.
+	* gcc.dg/analyzer/pr94689.c: New test.
+	* gcc.dg/analyzer/pr94839.c: New test.
+	* gcc.dg/analyzer/pr95026.c: New test.
+	* gcc.dg/analyzer/pr95240.c: New test.
+	* gcc.dg/analyzer/refcounting-1.c: New test.
+	* gcc.dg/analyzer/single-field.c: New test.
+	* gcc.dg/analyzer/stale-frame-1.c: New test.
+	* gcc.dg/analyzer/symbolic-1.c: New test.
+	* gcc.dg/analyzer/symbolic-2.c: New test.
+	* gcc.dg/analyzer/symbolic-3.c: New test.
+	* gcc.dg/analyzer/symbolic-4.c: New test.
+	* gcc.dg/analyzer/symbolic-5.c: New test.
+	* gcc.dg/analyzer/symbolic-6.c: New test.
+	* gcc.dg/analyzer/taint-1.c: Mark the "gets unchecked value"
+	events as failing for now.  Update dg-message directives to avoid
+	relying on numbering.
+	* gcc.dg/analyzer/torture/loop-inc-ptr-1.c: New test.
+	* gcc.dg/analyzer/torture/loop-inc-ptr-2.c: New test.
+	* gcc.dg/analyzer/torture/loop-inc-ptr-3.c: New test.
+	* gcc.dg/analyzer/unknown-fns-2.c: New test.
+	* gcc.dg/analyzer/unknown-fns-3.c: New test.
+	* gcc.dg/analyzer/unknown-fns-4.c: New test.
+	* gcc.dg/analyzer/unknown-fns.c: Update dg-warning to reflect fixed
+	source location for leak diagnostic.
+	* gcc.dg/analyzer/use-after-free.c: New test.
+	* gcc.dg/analyzer/vla-1.c: New test.
+	* gcc.dg/analyzer/zlib-4.c: Rewrite to avoid "exit" calls.  Add
+	expected leak warnings.
+	* gfortran.dg/analyzer/pr93993.f90: Remove leak of tm warning,
+	which seems to have been a false positive.
+
+2020-08-13  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/96506
+	* gcc.target/powerpc/pr96506.c: New test.
+
+2020-08-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/93671
+	* gfortran.dg/coarray/pr93671.f90: New test.
+
+2020-08-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+	Revert:
+	2020-08-13  Peixin Qiao  <qiaopeixin@huawei.com>
+
+	* gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that
+	-mgeneral-regs-only is compatible with the use of vector type
+	used in the test case.
+
+2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* gcc.target/nvptx/ia64-sync-5.c: New.
+
+2020-08-13  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/96482
+	* gcc.dg/ipa/pr96482-2.c: New test.
+
+2020-08-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+	* gcc.target/i386/avx512bw-pr96246-1.c: New test.
+	* gcc.target/i386/avx512bw-pr96246-2.c: New test.
+	* gcc.target/i386/avx512vl-pr96246-1.c: New test.
+	* gcc.target/i386/avx512vl-pr96246-2.c: New test.
+	* gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust test.
+	* gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
+	* gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
+	* gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
+	* gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
+	* gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
+	* gcc.target/i386/avx512vl-pr92686-movcc-1.c: Ditto.
+	* gcc.target/i386/avx512vl-pr96246-1.c: Ditto.
+	* gcc.target/i386/avx512vl-pr96246-2.c: Ditto.
+	* gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
+	* gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
+	* gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
+	* gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
+
+2020-08-13  Hans-Peter Nilsson  <hp@axis.com>
+
+	PR middle-end/94600
+	* gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c, gcc.dg/pr94600-7.c,
+	gcc.dg/pr94600-8.c: Align t0 to 4-byte boundary.
+
+2020-08-13  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/92812
+	* g++.dg/cpp2a/paren-init27.C: New test.
+	* g++.dg/cpp2a/paren-init28.C: New test.
+	* g++.dg/cpp2a/paren-init29.C: New test.
+	* g++.dg/cpp2a/paren-init30.C: New test.
+	* g++.dg/cpp2a/paren-init31.C: New test.
+	* g++.dg/cpp2a/paren-init32.C: New test.
+
 2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
 	    Uroš Bizjak  <ubizjak@gmail.com>
 
diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog
index 942b7961f8e..56038176efa 100644
--- a/libcc1/ChangeLog
+++ b/libcc1/ChangeLog
@@ -1,3 +1,7 @@
+2020-08-13  Nathan Sidwell  <nathan@acm.org>
+
+	* libcp1plugin.cc (plugin_build_dependent_expr): Likewise.
+
 2020-07-30  H.J. Lu  <hjl.tools@gmail.com>
 
 	PR bootstrap/96202
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 01c5b50351e..588b6f44051 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* config/nvptx/atomic.c: New.
+	* config/nvptx/t-nvptx (LIB2ADD): Add atomic.c.
+
 2020-08-03  Ian Lance Taylor  <iant@golang.org>
 
 	* config/i386/morestack.S (BACKOFF) [x86_64]: Add 2048 bytes.
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index b1abd947601..2c18cdab0be 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,13 @@
+2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* testsuite/libgomp.c-c++-common/reduction-16.c: New.
+
+2020-08-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* testsuite/libgomp.c/loop-22.c (main): Add some further tests.
+	* testsuite/libgomp.c/loop-23.c (main): Likewise.
+	* testsuite/libgomp.c/loop-24.c: New test.
+
 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
 	    Tobias Burnus  <tobias@codesourcery.com>
 
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a248b7f9c55..9c7fc0ebbd1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2020-08-13  Jonathan Wakely  <jwakely@redhat.com>
+
+	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std
+	option is used and fail unless --enable-cheaders-obsolete is
+	also used.
+	* configure: Regenerate.
+
 2020-08-12  Jonathan Wakely  <jwakely@redhat.com>
 
 	PR libstdc++/85828


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-13 19:58 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-13 19:58 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 8735 bytes --]

https://gcc.gnu.org/g:afdd220a0ccf9d5a689b6aceccd8327213a51b9b

commit afdd220a0ccf9d5a689b6aceccd8327213a51b9b
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Thu Aug 13 00:16:23 2020 +0000

    Daily bump.

Diff:
---
 ChangeLog               |  4 +++
 gcc/ChangeLog           | 79 +++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |  2 +-
 gcc/fortran/ChangeLog   | 10 +++++++
 gcc/testsuite/ChangeLog | 68 ++++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  | 29 ++++++++++++++++++
 6 files changed, 191 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 073a759a3c1..56ee7d467d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2020-08-12  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+	* MAINTAINERS: Update my email address.
+
 2020-07-30  Joe Ramsay  <joe.ramsay@arm.com>
 
 	* MAINTAINERS (Write After Approval): Add myself.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 545a44bb586..676585fdb37 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,82 @@
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+	    Uroš Bizjak  <ubizjak@gmail.com>
+
+	PR target/96558
+	* config/i386/i386.md (peephole2): Only reorder register clearing
+	instructions to allow use of xor for general registers.
+
+2020-08-12  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/96482
+	* ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits
+	for bits that are unknown.
+	(ipcp_bits_lattice::set_to_constant): Likewise.
+	* tree-ssa-ccp.c (get_default_value): Add sanity check that
+	IPA CP bit info has all bits set to zero in bits that
+	are unknown.
+
+2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+	* config/aarch64/aarch64.c (aarch64_function_value): Add if
+	condition to check ag_mode after entering if condition of
+	aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+	set as false by -mgeneral-regs-only, report the diagnostic
+	information of -mgeneral-regs-only imcompatible with the use
+	of fp/simd register(s).
+
+2020-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/96535
+	* toplev.c (process_options): Move flag_unroll_loops and
+	flag_cunroll_grow_size handling from here to ...
+	* opts.c (finish_options): ... here.  For flag_cunroll_grow_size,
+	don't check for AUTODETECT_VALUE, but instead check
+	opts_set->x_flag_cunroll_grow_size.
+	* common.opt (funroll-completely-grow-size): Default to 0.
+	* config/rs6000/rs6000.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
+	Redefine.
+	(rs6000_override_options_after_change): New function.
+	(rs6000_option_override_internal): Call it.  Move there the
+	flag_cunroll_grow_size, unroll_only_small_loops and
+	flag_rename_registers handling.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Make elt_size an
+	unsigned HOST_WIDE_INT.  Print init_frag.remaining using
+	HOST_WIDE_INT_PRINT_UNSIGNED.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+	    Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (peephole2): Reduce unnecessary
+	register shuffling produced by register allocation.
+
+2020-08-12  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ipa-fnsummary.c (evaluate_conditions_for_known_args): Use vec<>
+	instead of std::vector<>.
+	(evaluate_properties_for_edge): Same.
+	(ipa_fn_summary_t::duplicate): Same.
+	(estimate_ipcp_clone_size_and_time): Same.
+	* vec.h (<T, A, vl_embed>::embedded_size): Change vec_embedded
+	type to contain a char[].
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+	PR target/96308
+	* config/s390/s390.c (s390_cannot_force_const_mem): Reject an
+	unary minus for everything not being a numeric constant.
+	(legitimize_tls_address): Move a NEG out of the CONST rtx.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+	PR target/96456
+	* config/s390/s390.h (TARGET_NONSIGNALING_VECTOR_COMPARE_OK): New
+	macro.
+	* config/s390/vector.md (vcond_comparison_operator): Use new macro
+	for the check.
+
 2020-08-11  Jakub Jelinek  <jakub@redhat.com>
 
 	PR rtl-optimization/96539
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index b81f381520c..faeb40f4ca8 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200812
+20200813
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b79eff707c8..fd771c03d11 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,13 @@
+2020-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+	* gfortran.h: Add OMP_LIST_NONTEMPORAL.
+	* dump-parse-tree.c (show_omp_clauses): Dump it
+	* openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL.
+	(OMP_SIMD_CLAUSES): Add it.
+	(gfc_match_omp_clauses): Match nontemporal clause.
+	* trans-openmp.c (gfc_trans_omp_clauses): Process
+	nontemporal clause.
+
 2020-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
 	PR fortran/96556
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8208f16e92a..8daa6fdd268 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,71 @@
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+	    Uroš Bizjak  <ubizjak@gmail.com>
+
+	PR target/96558
+	* gcc.dg/pr96558.c: New test.
+
+2020-08-12  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/96482
+	* gcc.dg/ipa/pr96482.c: New test.
+
+2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+	* gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that
+	-mgeneral-regs-only is compatible with the use of vector type
+	used in the test case.
+
+2020-08-12  Tobias Burnus  <tobias@codesourcery.com>
+
+	* gfortran.dg/gomp/nontemporal-1.f90: New test.
+	* gfortran.dg/gomp/nontemporal-2.f90: New test.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+	* gcc.target/nvptx/ia64-sync-1.c: New test.
+	* gcc.target/nvptx/ia64-sync-2.c: New test.
+	* gcc.target/nvptx/ia64-sync-3.c: New test.
+	* gcc.target/nvptx/ia64-sync-4.c: New test.
+
+2020-08-12  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	PR testsuite/96519
+	* gcc.dg/ia64-sync-5.c (AC, init_qi, test_qi): Change element type to
+	signed char.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+	PR testsuite/96566
+	* lib/target-supports.exp (check_effective_target_large_initializer):
+	New proc.
+	* gcc.dg/builtin-object-size-21.c: Require large_initializer.
+	* gcc.dg/strlenopt-55.c: Same.
+
+2020-08-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* gcc.target/arm/stack-protector-1.c: Adapt code to Cortex-M
+	restrictions.
+
+2020-08-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* gcc.target/arm/multilib.exp: Fix parameter passing for gcc_opts.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+	PR target/96308
+	* g++.dg/pr96308.C: New test.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+	PR target/96456
+	* gcc.target/s390/pr96456.c: New test.
+
+2020-08-12  Alan Modra  <amodra@gmail.com>
+
+	PR target/96525
+	* gcc.target/powerpc/pr96493.c: Make it a link test when no
+	power10_hw.  Require power10_ok.
+
 2020-08-11  David Edelsohn  <dje.gcc@gmail.com>
 
 	* g++.dg/opt/flifetime-dse2.C: Remove AIX xfail.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6fb94761ce2..a248b7f9c55 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,32 @@
+2020-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/85828
+	* include/bits/basic_string.h (operator=(basic_string&&)): Check
+	for self-move before copying with char_traits::copy.
+	* include/bits/hashtable.h (operator=(_Hashtable&&)): Check for
+	self-move.
+	* include/bits/stl_deque.h (_M_move_assign1(deque&&, false_type)):
+	Check for equal allocators.
+	* include/bits/stl_list.h (_M_move_assign(list&&, true_type)):
+	Call clear() instead of _M_clear().
+	* include/debug/formatter.h (__msg_self_move_assign): Change
+	comment.
+	* include/debug/macros.h (__glibcxx_check_self_move_assign):
+	(_GLIBCXX_DEBUG_VERIFY): Remove.
+	* include/debug/safe_container.h (operator=(_Safe_container&&)):
+	Remove assertion check for safe move and make it well-defined.
+	* include/debug/safe_iterator.h (operator=(_Safe_iterator&&)):
+	Remove assertion check for self-move.
+	* include/debug/safe_local_iterator.h
+	(operator=(_Safe_local_iterator&&)): Likewise.
+	* testsuite/21_strings/basic_string/cons/char/self_move.cc: New test.
+	* testsuite/23_containers/deque/cons/self_move.cc: New test.
+	* testsuite/23_containers/forward_list/cons/self_move.cc: New test.
+	* testsuite/23_containers/list/cons/self_move.cc: New test.
+	* testsuite/23_containers/set/cons/self_move.cc: New test.
+	* testsuite/23_containers/unordered_set/cons/self_move.cc: New test.
+	* testsuite/23_containers/vector/cons/self_move.cc: New test.
+
 2020-08-11  François Dumont  <fdumont@gcc.gnu.org>
 
 	PR libstdc++/91620


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-13 19:56 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-13 19:56 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 8411 bytes --]

https://gcc.gnu.org/g:a64938091bf13c53cf4dc69eb3c82f8f2f476300

commit a64938091bf13c53cf4dc69eb3c82f8f2f476300
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Wed Aug 12 00:16:27 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 25 +++++++++++++++
 gcc/DATESTAMP           |  2 +-
 gcc/c-family/ChangeLog  |  7 +++++
 gcc/testsuite/ChangeLog | 68 ++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  | 83 +++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 184 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe76468bb28..545a44bb586 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,28 @@
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/96539
+	* expr.c (emit_block_move_hints): Don't copy anything if x and y
+	are the same and neither is MEM_VOLATILE_P.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/96549
+	* tree.c (get_narrower): Use TREE_TYPE (ret) instead of
+	TREE_TYPE (win) for COMPOUND_EXPRs.
+
+2020-08-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (not_loop_guard_equal_edge_p): New function.
+	(maybe_predict_edge): New function.
+	(predict_paths_for_bb): Use it.
+	(predict_paths_leading_to_edge): Use it.
+
+2020-08-11  Martin Liska  <mliska@suse.cz>
+
+	* dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits.
+	* ipa-cp.c (ipcp_store_bits_results): Use it when we store known
+	bits for parameters.
+
 2020-08-10  Marek Polacek  <polacek@redhat.com>
 
 	* doc/sourcebuild.texi: Document dg-ice.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 5a77e124a0f..b81f381520c 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200811
+20200812
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 85e0c00d37a..1eaa99f31e6 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,10 @@
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/96545
+	* c-common.c (get_atomic_generic_size): Require that first argument's
+	type points to a complete type and use tree_fits_uhwi_p instead of
+	just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
+
 2020-07-31  Martin Sebor  <msebor@redhat.com>
 
 	PR c++/96003
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dc48e018250..8208f16e92a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,71 @@
+2020-08-11  David Edelsohn  <dje.gcc@gmail.com>
+
+	* g++.dg/opt/flifetime-dse2.C: Remove AIX xfail.
+	* g++.dg/opt/flifetime-dse4.C: Remove AIX xfail.
+
+2020-08-11  Tom de Vries  <tdevries@suse.de>
+
+	* gcc.dg/Warray-bounds-46.c: Add missing require-effective-target
+	directive.
+	* gcc.dg/Warray-bounds-48.c: Same.
+	* gcc.dg/Warray-bounds-50.c: Same.
+	* gcc.dg/Wreturn-local-addr-2.c: Same.
+	* gcc.dg/Wreturn-local-addr-3.c: Same.
+	* gcc.dg/Wreturn-local-addr-4.c: Same.
+	* gcc.dg/Wreturn-local-addr-6.c: Same.
+	* gcc.dg/Wstack-usage.c: Same.
+	* gcc.dg/Wstringop-overflow-15.c: Same.
+	* gcc.dg/Wstringop-overflow-23.c: Same.
+	* gcc.dg/Wstringop-overflow-25.c: Same.
+	* gcc.dg/Wstringop-overflow-27.c: Same.
+	* gcc.dg/Wstringop-overflow-39.c: Same.
+	* gcc.dg/analyzer/alloca-leak.c: Same.
+	* gcc.dg/analyzer/data-model-1.c: Same.
+	* gcc.dg/analyzer/data-model-16.c: Same.
+	* gcc.dg/analyzer/malloc-1.c: Same.
+	* gcc.dg/analyzer/malloc-paths-8.c: Same.
+	* gcc.dg/analyzer/pr93546.c: Same.
+	* gcc.dg/analyzer/setjmp-1.c: Same.
+	* gcc.dg/analyzer/setjmp-2.c: Same.
+	* gcc.dg/analyzer/setjmp-3.c: Same.
+	* gcc.dg/analyzer/setjmp-4.c: Same.
+	* gcc.dg/analyzer/setjmp-5.c: Same.
+	* gcc.dg/analyzer/setjmp-6.c: Same.
+	* gcc.dg/analyzer/setjmp-7.c: Same.
+	* gcc.dg/analyzer/setjmp-7a.c: Same.
+	* gcc.dg/analyzer/setjmp-8.c: Same.
+	* gcc.dg/analyzer/setjmp-9.c: Same.
+	* gcc.dg/analyzer/setjmp-pr93378.c: Same.
+	* gcc.dg/gimplefe-44.c: Same.
+	* gcc.dg/pr84131.c: Same.
+	* gcc.dg/pr93986.c: Same.
+	* gcc.dg/pr95133.c: Same.
+	* gcc.dg/pr95857.c: Same.
+	* gcc.dg/strlenopt-83.c: Same.
+	* gcc.dg/strlenopt-84.c: Same.
+	* gcc.dg/strlenopt-91.c: Same.
+	* gcc.dg/uninit-32.c: Same.
+	* gcc.dg/uninit-36.c: Same.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/96545
+	* c-c++-common/pr96545.c: New test.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/96539
+	* gcc.target/i386/pr96539.c: New test.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/96549
+	* gcc.c-torture/execute/pr96549.c: New test.
+
+2020-08-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	* gcc.dg/ipa/ipa-clone-2.c: Lower threshold from 500 to 400.
+
 2020-08-10  Marek Polacek  <polacek@redhat.com>
 
 	PR c++/88003
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b71c39fef6e..b12eb175d4f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,86 @@
+2020-08-11  François Dumont  <fdumont@gcc.gnu.org>
+
+	PR libstdc++/91620
+	* include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes
+	to destroy in an intermediate forward_list.
+	(forward_list<>::remove_if, forward_list<>::unique): Likewise.
+	* include/bits/list.tcc (list<>::remove, list<>::unique): Likewise.
+	(list<>::remove_if): Likewise.
+	* include/debug/forward_list (forward_list<>::_M_erase_after): Remove.
+	(forward_list<>::erase_after): Adapt.
+	(forward_list<>::remove, forward_list<>::remove_if): Collect nodes to
+	destroy in an intermediate forward_list.
+	(forward_list<>::unique): Likewise.
+	* include/debug/list (list<>::remove, list<>::unique): Likewise.
+	(list<>::remove_if): Likewise.
+	* testsuite/23_containers/forward_list/operations/91620.cc: New test.
+	* testsuite/23_containers/list/operations/91620.cc: New test.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/30_threads/thread/cons/84535.cc: Use a custom
+	namespace.
+	* testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/89760
+	* include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]:
+	(execution_context::mutex_type): Define dummy mutex type.
+	(system_context): Use execution_context::mutex_type.
+	(system_context) [!_GLIBCXX_HAS_GTHREADS]: Define dummy
+	thread and condition variable types.
+	[!_GLIBCXX_HAS_GTHREADS] (system_context::_M_run()): Do not
+	define.
+	(system_context::_M_post) [!_GLIBCXX_HAS_GTHREADS]: Throw
+	an exception when threads aren't available.
+	(strand::running_in_this_thread()): Defer to _M_state.
+	(strand::_State::running_in_this_thread()): New function.
+	(use_future_t): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1.
+	* include/experimental/io_context (io_context): Use the
+	execution_context::mutex_type alias. Replace stack of thread
+	IDs with counter.
+	* testsuite/experimental/net/execution_context/use_service.cc:
+	Enable test for non-pthread targets.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/experimental/executor (system_context::a__tag): Make
+	default constructor explicit.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/experimental/executor (system_context::_M_run()):
+	Fix predicate.
+	* testsuite/experimental/net/system_context/1.cc: New test.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using
+	#ifdef instead of #if.
+	(stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before
+	using __gthread_yield.
+
+2020-08-11  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/thread [!_GLIBCXX_HAS_GTHREADS] (this_thread::yield)
+	(this_thread::sleep_until): Define.
+	[!_GLIBCXX_HAS_GTHREADS] (this_thread::sleep_for): Define. Replace
+	use of __gthread_time_t typedef with timespec.
+	* src/c++11/thread.cc [!_GLIBCXX_HAS_GTHREADS] (__sleep_for):
+	Likewise.
+	* testsuite/30_threads/this_thread/2.cc: Moved to...
+	* testsuite/30_threads/this_thread/yield.cc: ...here.
+	* testsuite/30_threads/this_thread/3.cc: Moved to...
+	* testsuite/30_threads/this_thread/sleep_for-mt.cc: ...here.
+	* testsuite/30_threads/this_thread/4.cc: Moved to...
+	* testsuite/30_threads/this_thread/sleep_until-mt.cc: ...here.
+	* testsuite/30_threads/this_thread/58038.cc: Add
+	dg-require-sleep.
+	* testsuite/30_threads/this_thread/60421.cc: Likewise.
+	* testsuite/30_threads/this_thread/sleep_for.cc: New test.
+	* testsuite/30_threads/this_thread/sleep_until.cc: New test.
+
 2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
 
 	PR libstdc++/94681


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-13 19:55 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-13 19:55 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 7768 bytes --]

https://gcc.gnu.org/g:84005b8abf9846e4a97e7c76c56acb2e432f2a0a

commit 84005b8abf9846e4a97e7c76c56acb2e432f2a0a
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Tue Aug 11 00:16:45 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 47 ++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |  2 +-
 gcc/cp/ChangeLog        | 13 ++++++++++++
 gcc/fortran/ChangeLog   | 18 +++++++++++++++++
 gcc/go/ChangeLog        |  5 +++++
 gcc/testsuite/ChangeLog | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  | 40 ++++++++++++++++++++++++++++++++++++
 7 files changed, 178 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dcb7ad60648..fe76468bb28 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,50 @@
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+	* doc/sourcebuild.texi: Document dg-ice.
+
+2020-08-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+	* config/i386/i386-expand.c (ix86_expand_int_movcc): Expand
+	signed MIN_EXPR against zero as "x < 0 ? x : 0" instead of
+	"x <= 0 ? x : 0" to enable sign_bit_compare_p optimizations.
+
+2020-08-10  Aldy Hernandez  <aldyh@redhat.com>
+
+	* value-range.h (gt_ggc_mx): Declare inline.
+	(gt_pch_nx): Same.
+
+2020-08-10  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/95433
+	* match.pd (X * C1 == C2): Handle wrapping overflow.
+	* expr.c (maybe_optimize_mod_cmp): Qualify call to mod_inv.
+	(mod_inv): Move...
+	* wide-int.cc (mod_inv): ... here.
+	* wide-int.h (mod_inv): Declare it.
+
+2020-08-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (filter_predictions): Document semantics of filter.
+	(equal_edge_p): Rename to ...
+	(not_equal_edge_p): ... this; reverse semantics.
+	(remove_predictions_associated_with_edge): Fix.
+
+2020-08-10  Hongtao Liu  <hongtao.liu@intel.com>
+
+	PR target/96243
+	* config/i386/i386-expand.c (ix86_expand_sse_cmp): Refine for
+	maskcmp.
+	(ix86_expand_mask_vec_cmp): Change prototype.
+	* config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): Change prototype.
+	* config/i386/i386.c (ix86_print_operand): Remove operand
+	modifier 'I'.
+	* config/i386/sse.md
+	(*<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Deleted.
+	(*<avx512>_cmp<mode>3<mask_scalar_merge_name>): Ditto.
+	(*<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
+	(*<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+	avx512f_maskcmp<mode>3): Ditto.
+
 2020-08-09  Roger Sayle  <roger@nextmovesoftware.com>
 
 	* expmed.c (init_expmed_one_conv): Restore all->reg's mode.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 58309c92ac6..5a77e124a0f 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200810
+20200811
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 55f846c8c28..d0f5111d83c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,16 @@
+2020-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/96497
+	* constexpr.c (cxx_eval_binary_expression): For SPACESHIP_EXPR, tail
+	call cxx_eval_constant_expression after genericize_spaceship to avoid
+	undesirable further VERIFY_CONSTANT.
+
+2020-08-10  Patrick Palka  <ppalka@redhat.com>
+
+	* pt.c (resolve_overloaded_unification): Drop functions with
+	unsatisfied constraints.
+	(resolve_nondeduced_context): Likewise.
+
 2020-08-05  Patrick Palka  <ppalka@redhat.com>
 	    Jason Merrill  <jason@redhat.com>
 
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 390f9aac471..b79eff707c8 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,21 @@
+2020-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/96556
+	* frontend-passes.c (doloop_contained_function_call):
+	Do not dereference a NULL pointer for value.function.esym.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/96312
+	* trans-expr.c (fcncall_realloc_result): Only compare shapes if
+	lhs was allocated..
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/96102
+	* resolve.c (check_host_association): Replace the gcc_assert
+	with an error for internal procedures.
+
 2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
 	PR fortran/96469
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 5be05e908e6..bda9993a7cd 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-10  Clément Chigot  <chigot.c@gmail.com>
+
+	* go-c.h (struct go_create_gogo_args): Add need_eqtype field.
+	* go-lang.c (go_langhook_init): Set need_eqtype.
+
 2020-04-15  Ian Lance Taylor  <iant@golang.org>
 
 	PR go/94607
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4d3584e1a6e..dc48e018250 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,57 @@
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/88003
+	* g++.dg/cpp1y/auto-fn61.C: New test.
+
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+	* lib/gcc-dg.exp (gcc-dg-test-1): Handle dg-ice.
+	(cleanup-after-saved-dg-test): Reset expect_ice.
+	* lib/prune.exp (prune_ices): New.
+	* lib/target-supports-dg.exp (dg-ice): New.
+
+2020-08-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+	* gcc.target/i386/minmax-12.c: New test.
+
+2020-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/96556
+	* gfortran.dg/do_check_15.f90: New test.
+
+2020-08-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/96497
+	* g++.dg/cpp2a/spaceship-constexpr3.C: New test.
+
+2020-08-10  Patrick Palka  <ppalka@redhat.com>
+
+	* g++.dg/cpp2a/concepts-fn5.C: New test.
+	* g++.dg/concepts/fn8.C: Generalize dg-error directive to accept
+	"no matching function ..." diagnostic.
+	* g++.dg/cpp2a/concepts-fn1.C: Likewise.
+	* g++.dg/cpp2a/concepts-ts2.C: Likewise.
+	* g++.dg/cpp2a/concepts-ts3.C: Likewise.
+
+2020-08-10  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/95433
+	* gcc.dg/tree-ssa/pr95433-2.c: New file.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/96312
+	* gfortran.dg/pr96312.f90: New test.
+
+2020-08-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/96102
+	* gfortran.dg/pr96102.f90: New test.
+
+2020-08-10  Hongtao Liu  <hongtao.liu@intel.com>
+
+	* gcc.target/i386/pr92865-1.c: Adjust testcase.
+
 2020-08-09  Roger Sayle  <roger@nextmovesoftware.com>
 
 	PR target/71321
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c658d7ee054..b71c39fef6e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,43 @@
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/94681
+	* src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead
+	of calling ::lstat directly.
+	* src/filesystem/ops.cc (read_symlink): Likewise.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
+	Use gdb.Type.strip_typedefs().
+	* testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
+	the emulated old type.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/94681
+	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on
+	$enable_libstdcxx_filesystem_ts.
+	* configure: Regenerate.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/stl_iterator.h (inserter): Do not deduce
+	iterator type (LWG 561).
+	* testsuite/24_iterators/insert_iterator/dr561.cc: New test.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI=0]
+	(basic_string::reserve()): Do nothing if exceptions are not
+	enabled.
+
+2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/95749
+	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
+	(stat_type): Change to __wstat64.
+	(stat): Use _wstat64.
+
 2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
 
 	PR libstdc++/96303


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-10 23:23 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-10 23:23 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:a72e938d710fa4b6c8eb89c4daab68e320fa97df

commit a72e938d710fa4b6c8eb89c4daab68e320fa97df
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Aug 8 00:16:34 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 33 +++++++++++++++++++++++
 gcc/DATESTAMP           |  2 +-
 gcc/testsuite/ChangeLog | 69 +++++++++++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  | 21 +++++++++++++++
 4 files changed, 124 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ba8a00966b3..1382771d872 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,36 @@
+2020-08-07  Marc Glisse  <marc.glisse@inria.fr>
+
+	* generic-match-head.c (optimize_vectors_before_lowering_p): New
+	function.
+	* gimple-match-head.c (optimize_vectors_before_lowering_p):
+	Likewise.
+	* match.pd ((v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Use it.
+
+2020-08-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/96514
+	* tree-if-conv.c (if_convertible_bb_p): If the last stmt
+	is a call that is control-altering, fail.
+
+2020-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/bpf/bpf.md: Remove trailing whitespaces.
+	* config/bpf/constraints.md: Likewise.
+	* config/bpf/predicates.md: Likewise.
+
+2020-08-07  Michael Meissner  <meissner@linux.ibm.com>
+
+	* config/rs6000/rs6000.md (bswaphi2_reg): Add ISA 3.1 support.
+	(bswapsi2_reg): Add ISA 3.1 support.
+	(bswapdi2): Rename bswapdi2_xxbrd to bswapdi2_brd.
+	(bswapdi2_brd,bswapdi2_xxbrd): Rename.  Add ISA 3.1 support.
+
+2020-08-07  Alan Modra  <amodra@gmail.com>
+
+	PR target/96493
+	* config/rs6000/predicates.md (current_file_function_operand): Don't
+	accept functions that differ in r2 usage.
+
 2020-08-06  Hans-Peter Nilsson  <hp@bitrange.com>
 
 	* config/mmix/mmix.md (MM): New mode_iterator.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 007638ea22c..0aaecf38b04 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200807
+20200808
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ca9395e78bf..38b564b3ab1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,72 @@
+2020-08-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/96514
+	* gcc.dg/pr96514.c: New testcase.
+
+2020-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* gcc.target/bpf/diag-funargs-2.c: Remove trailing whitespaces.
+	* gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
+	* gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
+	* gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
+	* gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
+	* gcc.target/bpf/helper-sock-ops-cb-flags-set.c
+	* gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
+	* gcc.target/bpf/helper-strtoul.c: Likewise.
+	* gcc.target/bpf/helper-strtol.c: Likewise.
+	* gcc.target/bpf/helper-sock-map-update.c: Likewise.
+	* gcc.target/bpf/helper-sk-storage-get.c: Likewise.
+	* gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
+	* gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
+	* gcc.target/bpf/helper-sk-release.c: Likewise.
+	* gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
+	* gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
+	* gcc.target/bpf/helper-skb-change-head.c: Likewise.
+	* gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
+	* gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
+	* gcc.target/bpf/helper-set-hash.c: Likewise.
+	* gcc.target/bpf/helper-setsockopt.c: Likewise.
+	* gcc.target/bpf/helper-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-rc-repeat.c: Likewise.
+	* gcc.target/bpf/helper-rc-keydown.c: Likewise.
+	* gcc.target/bpf/helper-probe-read-str.c: Likewise.
+	* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
+	* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
+	* gcc.target/bpf/helper-override-return.c: Likewise.
+	* gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-msg-pull-data.c: Likewise.
+	* gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
+	* gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
+	* gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
+	* gcc.target/bpf/helper-get-socket-uid.c: Likewise.
+	* gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
+	* gcc.target/bpf/helper-get-local-storage.c: Likewise.
+	* gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
+	* gcc.target/bpf/helper-getsockopt.c: Likewise.
+	* gcc.target/bpf/diag-funargs-3.c: Likewise.
+
+2020-08-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Tom de Vries  <tdevries@suse.de>
+
+	* gcc.dg/ia64-sync-5.c: New test.
+
+2020-08-07  Michael Meissner  <meissner@linux.ibm.com>
+
+	* gcc.target/powerpc/bswap-brd.c: New test.
+	* gcc.target/powerpc/bswap-brw.c: New test.
+	* gcc.target/powerpc/bswap-brh.c: New test.
+
+2020-08-07  Alan Modra  <amodra@gmail.com>
+
+	* gcc.target/powerpc/pr96493.c: New file.
+
 2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
 
 	* gcc.target/arm/stack-protector-1.c: New test.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d67aa141475..c658d7ee054 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,24 @@
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/96303
+	* include/debug/bitset (bitset::operator==): Call _M_base() on
+	right operand.
+	(bitset::operator!=): Likewise, but don't define it at all when
+	default comparisons are supported by the compiler.
+	* testsuite/23_containers/bitset/operations/96303.cc: New test.
+
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/18_support/comparisons/algorithms/partial_order.cc:
+	Replace VERIFY with static_assert where the compiler now
+	allows it.
+	* testsuite/18_support/comparisons/algorithms/weak_order.cc:
+	Likewise.
+
+2020-08-07  Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/abi/pre/gnu.ver: Fix wildcards for wstring symbols.
+
 2020-08-06  Andrew Luo  <andrewluotechnologies@outlook.com>
 	    Jonathan Wakely  <jwakely@redhat.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-10 23:22 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-10 23:22 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 15274 bytes --]

https://gcc.gnu.org/g:74d91e8bb7935c1bf57fbc26437935eeee00d238

commit 74d91e8bb7935c1bf57fbc26437935eeee00d238
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Fri Aug 7 00:16:33 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 107 +++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/testsuite/ChangeLog | 144 ++++++++++++++++++++++++++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  |  64 +++++++++++++++++++++
 4 files changed, 316 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e4e4eebfcf6..ba8a00966b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,110 @@
+2020-08-06  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* config/mmix/mmix.md (MM): New mode_iterator.
+	("mov<mode>"): New expander to expand for all MM-modes.
+	("*movqi_expanded", "*movhi_expanded", "*movsi_expanded")
+	("*movsf_expanded", "*movdf_expanded"): Rename from the
+	corresponding mov<M> named pattern.  Add to the condition that
+	either operand must be a register_operand.
+	("*movdi_expanded"): Similar, but also allow STCO in the condition.
+
+2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR target/96191
+	* config/arm/arm.md (arm_stack_protect_test_insn): Zero out
+	operand 2 after use.
+	* config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
+
+2020-08-06  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/96446
+	* config/rs6000/mma.md (*movpxi): Add xxsetaccz generation.
+	Disable split for zero constant source operand.
+	(mma_xxsetaccz): Change to define_expand.  Call gen_movpxi.
+
+2020-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/96480
+	* tree-ssa-reassoc.c (suitable_cond_bb): Add TEST_SWAPPED_P argument.
+	If TEST_BB ends in cond and has one edge to *OTHER_BB and another
+	through an empty bb to that block too, if PHI args don't match, retry
+	them through the other path from TEST_BB.
+	(maybe_optimize_range_tests): Adjust callers.  Handle such LAST_BB
+	through inversion of the condition.
+
+2020-08-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/bpf/bpf-helpers.h (KERNEL_HELPER): Define.
+	(KERNEL_VERSION): Remove.
+	* config/bpf/bpf-helpers.def: Delete.
+	* config/bpf/bpf.c (bpf_handle_fndecl_attribute): New function.
+	(bpf_attribute_table): Define.
+	(bpf_helper_names): Delete.
+	(bpf_helper_code): Likewise.
+	(enum bpf_builtins): Adjust to new helpers mechanism.
+	(bpf_output_call): Likewise.
+	(bpf_init_builtins): Likewise.
+	(bpf_init_builtins): Likewise.
+	* doc/extend.texi (BPF Function Attributes): New section.
+	(BPF Kernel Helpers): Delete section.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/96491
+	* tree-ssa-sink.c (sink_common_stores_to_bb): Avoid
+	sinking across abnormal edges.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/96483
+	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
+	POLY_INT_CST.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (ivs_params): Use hash_map instead
+	of std::map.
+	(ivs_params_clear): Adjust.
+	(gcc_expression_from_isl_ast_expr_id): Likewise.
+	(graphite_create_new_loop): Likewise.
+	(add_parameters_to_ivs_params): Likewise.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+	    Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (MAXMIN_IMODE): No longer needed.
+	(<maxmin><mode>3):  Support SWI248 and general_operand for
+	second operand, when TARGET_CMOVE.
+	(<maxmin><mode>3_1 splitter): Optimize comparisons against
+	0, 1 and -1 to use "test" instead of "cmp".
+	(*<maxmin>di3_doubleword): Likewise, allow general_operand
+	and enable on TARGET_CMOVE.
+	(peephole2): Convert clearing a register after a flag setting
+	instruction into an xor followed by the original flag setter.
+
+2020-08-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* ipa-fnsummary.c (INCLUDE_VECTOR): Define.
+	Remove direct inclusion of <vector>.
+
+2020-08-06  Kewen Lin  <linkw@gcc.gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_adjust_vect_cost_per_loop): New
+	function.
+	(rs6000_finish_cost): Call rs6000_adjust_vect_cost_per_loop.
+	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Add cost
+	modeling for vector with length.
+	(vect_rgroup_iv_might_wrap_p): New function, factored out from...
+	* tree-vect-loop-manip.c (vect_set_loop_controls_directly): ...this.
+	Update function comment.
+	* tree-vect-stmts.c (vect_gen_len): Update function comment.
+	* tree-vectorizer.h (vect_rgroup_iv_might_wrap_p): New declare.
+
+2020-08-06  Kewen Lin  <linkw@linux.ibm.com>
+
+	* tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops
+	for dbgcnt check.
+
 2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
 
 	PR tree-optimization/95906
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index c2e265fc4e9..007638ea22c 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200806
+20200807
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c4b2a3595b5..ca9395e78bf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,147 @@
+2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* gcc.target/arm/stack-protector-1.c: New test.
+	* gcc.target/arm/stack-protector-2.c: Likewise.
+
+2020-08-06  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/96446
+	* gcc.target/powerpc/pr96446.c: New test.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+	* gcc.target/i386/minmax-9.c: Restrict test to !ia32.
+
+2020-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/96480
+	* gcc.dg/tree-ssa/pr96480.c: New test.
+
+2020-08-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* gcc.target/bpf/helper-bind.c: Adjust to new kernel helpers
+	mechanism.
+	* gcc.target/bpf/helper-bpf-redirect.c: Likewise.
+	* gcc.target/bpf/helper-clone-redirect.c: Likewise.
+	* gcc.target/bpf/helper-csum-diff.c: Likewise.
+	* gcc.target/bpf/helper-csum-update.c: Likewise.
+	* gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
+	* gcc.target/bpf/helper-fib-lookup.c: Likewise.
+	* gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
+	* gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
+	* gcc.target/bpf/helper-get-current-comm.c: Likewise.
+	* gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
+	* gcc.target/bpf/helper-get-current-task.c: Likewise.
+	* gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
+	* gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
+	* gcc.target/bpf/helper-get-listener-sock.c: Likewise.
+	* gcc.target/bpf/helper-get-local-storage.c: Likewise.
+	* gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
+	* gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
+	* gcc.target/bpf/helper-get-route-realm.c: Likewise.
+	* gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
+	* gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
+	* gcc.target/bpf/helper-get-socket-uid.c: Likewise.
+	* gcc.target/bpf/helper-get-stack.c: Likewise.
+	* gcc.target/bpf/helper-get-stackid.c: Likewise.
+	* gcc.target/bpf/helper-getsockopt.c: Likewise.
+	* gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
+	* gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
+	* gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
+	* gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
+	* gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
+	* gcc.target/bpf/helper-map-delete-elem.c: Likewise.
+	* gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
+	* gcc.target/bpf/helper-map-peek-elem.c: Likewise.
+	* gcc.target/bpf/helper-map-pop-elem.c: Likewise.
+	* gcc.target/bpf/helper-map-push-elem.c: Likewise.
+	* gcc.target/bpf/helper-map-update-elem.c: Likewise.
+	* gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
+	* gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
+	* gcc.target/bpf/helper-msg-pop-data.c: Likewise.
+	* gcc.target/bpf/helper-msg-pull-data.c: Likewise.
+	* gcc.target/bpf/helper-msg-push-data.c: Likewise.
+	* gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
+	* gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-override-return.c: Likewise.
+	* gcc.target/bpf/helper-perf-event-output.c: Likewise.
+	* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
+	* gcc.target/bpf/helper-perf-event-read.c: Likewise.
+	* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
+	* gcc.target/bpf/helper-probe-read-str.c: Likewise.
+	* gcc.target/bpf/helper-probe-read.c: Likewise.
+	* gcc.target/bpf/helper-probe-write-user.c: Likewise.
+	* gcc.target/bpf/helper-rc-keydown.c: Likewise.
+	* gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
+	* gcc.target/bpf/helper-rc-repeat.c: Likewise.
+	* gcc.target/bpf/helper-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
+	* gcc.target/bpf/helper-set-hash.c: Likewise.
+	* gcc.target/bpf/helper-setsockopt.c: Likewise.
+	* gcc.target/bpf/helper-sk-fullsock.c: Likewise.
+	* gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
+	* gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
+	* gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
+	* gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
+	* gcc.target/bpf/helper-sk-release.c: Likewise.
+	* gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
+	* gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
+	* gcc.target/bpf/helper-sk-storage-get.c: Likewise.
+	* gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
+	* gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
+	* gcc.target/bpf/helper-skb-change-head.c: Likewise.
+	* gcc.target/bpf/helper-skb-change-proto.c: Likewise.
+	* gcc.target/bpf/helper-skb-change-tail.c: Likewise.
+	* gcc.target/bpf/helper-skb-change-type.c: Likewise.
+	* gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
+	* gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
+	* gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
+	* gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
+	* gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
+	* gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
+	* gcc.target/bpf/helper-skb-pull-data.c: Likewise.
+	* gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
+	* gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
+	* gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
+	* gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
+	* gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
+	* gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
+	* gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
+	* gcc.target/bpf/helper-sock-hash-update.c: Likewise.
+	* gcc.target/bpf/helper-sock-map-update.c: Likewise.
+	* gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
+	* gcc.target/bpf/helper-spin-lock.c: Likewise.
+	* gcc.target/bpf/helper-spin-unlock.c: Likewise.
+	* gcc.target/bpf/helper-strtol.c: Likewise.
+	* gcc.target/bpf/helper-strtoul.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
+	* gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
+	* gcc.target/bpf/helper-tail-call.c: Likewise.
+	* gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
+	* gcc.target/bpf/helper-tcp-sock.c: Likewise.
+	* gcc.target/bpf/helper-trace-printk.c: Likewise.
+	* gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
+	* gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
+	* gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
+	* gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/96491
+	* gcc.dg/torture/pr96491.c: New testcase.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+	    Uroš Bizjak  <ubizjak@gmail.com>
+
+	* gcc.target/i386/minmax-8.c: New test.
+	* gcc.target/i386/minmax-9.c: New test.
+	* gcc.target/i386/minmax-10.c: New test.
+	* gcc.target/i386/minmax-11.c: New test.
+
 2020-08-05  Patrick Palka  <ppalka@redhat.com>
 	    Jason Merrill  <jason@redhat.com>
 
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ddd78334460..d67aa141475 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,67 @@
+2020-08-06  Andrew Luo  <andrewluotechnologies@outlook.com>
+	    Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Use less greedy
+	patterns for basic_string members.
+	(GLIBCXX_3.4.29): Export new basic_string::reserve symbols.
+	* doc/xml/manual/status_cxx2020.xml: Update P0966 status.
+	* include/bits/basic_string.h (shrink_to_fit()): Call reserve().
+	(reserve(size_type)): Remove default argument.
+	(reserve()): Declare new overload.
+	[!_GLIBCXX_USE_CXX11_ABI] (shrink_to_fit, reserve): Likewise.
+	* include/bits/basic_string.tcc (reserve(size_type)): Remove
+	support for shrinking capacity.
+	(reserve()): Perform shrink-to-fit operation.
+	[!_GLIBCXX_USE_CXX11_ABI] (reserve): Likewise.
+	* testsuite/21_strings/basic_string/capacity/1.cc: Adjust to
+	reflect new behavior.
+	* testsuite/21_strings/basic_string/capacity/char/1.cc:
+	Likewise.
+	* testsuite/21_strings/basic_string/capacity/char/18654.cc:
+	Likewise.
+	* testsuite/21_strings/basic_string/capacity/char/2.cc:
+	Likewise.
+	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc:
+	Likewise.
+	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
+	Likewise.
+	* testsuite/21_strings/basic_string/capacity/wchar_t/2.cc:
+	Likewise.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/basic_string.tcc
+	(operator>>(basic_istream&, basic_string&)): Do not set eofbit
+	if extraction stopped after in.width() characters.
+	* src/c++98/istream-string.cc (operator>>(istream&, string&)):
+	Likewise.
+	* include/bits/istream.tcc (__istream_extract): Do not set
+	eofbit if extraction stopped after n-1 characters.
+	* src/c++98/istream.cc (__istream_extract): Likewise.
+	* testsuite/21_strings/basic_string/inserters_extractors/char/13.cc: New test.
+	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc: New test.
+	* testsuite/27_io/basic_istream/extractors_character/char/5.cc: New test.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/5.cc: New test.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/96484
+	* src/c++17/fs_ops.cc (fs::read_symlink): Return an error
+	immediately for non-symlinks.
+	* src/filesystem/ops.cc (fs::read_symlink): Likewise.
+
+2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/istream (operator>>(istream&, char*)): Add
+	attributes to get warnings for pointers that are null or known
+	to point to the end of a buffer. Request upper bound from
+	__builtin_object_size check and handle zero-sized buffer case.
+	(operator>>(istream&, signed char))
+	(operator>>(istream&, unsigned char*)): Add attributes.
+	* testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
+	Check extracting into the middle of a buffer.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test.
+
 2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
 
 	* include/std/atomic (atomic<T>::store): Reformat.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump.
@ 2020-08-10 23:20 Aaron Sawdey
  0 siblings, 0 replies; 9+ messages in thread
From: Aaron Sawdey @ 2020-08-10 23:20 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:aa5ea20c2bf5f730acb3d161978d70559705400c

commit aa5ea20c2bf5f730acb3d161978d70559705400c
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Thu Aug 6 00:16:26 2020 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 215 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/cp/ChangeLog        |   9 ++
 gcc/fortran/ChangeLog   |  11 +++
 gcc/testsuite/ChangeLog |  55 +++++++++++++
 libgomp/ChangeLog       |  16 ++++
 libstdc++-v3/ChangeLog  |  61 ++++++++++++++
 7 files changed, 368 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ffff1d4bb13..e4e4eebfcf6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,218 @@
+2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/95906
+	PR target/70314
+	* match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
+	(v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): New transformations.
+	(op (c ? a : b)): Update to match the new transformations.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR target/96191
+	* config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the
+	CC register directly, instead of a GPR.  Replace the original GPR
+	destination with an extra scratch register.  Zero out operand 3
+	after use.
+	(stack_protect_test): Update accordingly.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* config/aarch64/aarch64.md (load_pair_sw_<SX:mode><SX2:mode>)
+	(load_pair_dw_<DX:mode><DX2:mode>, load_pair_dw_tftf)
+	(store_pair_sw_<SX:mode><SX2:mode>)
+	(store_pair_dw_<DX:mode><DX2:mode>, store_pair_dw_tftf)
+	(*load_pair_extendsidi2_aarch64)
+	(*load_pair_zero_extendsidi2_aarch64): Use %z for the memory operand.
+	* config/aarch64/aarch64-simd.md (load_pair<DREG:mode><DREG2:mode>)
+	(vec_store_pair<DREG:mode><DREG2:mode>, load_pair<VQ:mode><VQ2:mode>)
+	(vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-im.c (invariantness_dom_walker): Remove.
+	(invariantness_dom_walker::before_dom_children): Move to ...
+	(compute_invariantness): ... this function.
+	(move_computations): Inline ...
+	(tree_ssa_lim): ... here, share RPO order and avoid some
+	cfun references.
+	(analyze_memory_references): Remove sorting of location
+	lists, instead assert they are sorted already when checking.
+	(prev_flag_edges): Remove.
+	(execute_sm_if_changed): Pass down and adjust prev edge state.
+	(execute_sm_exit): Likewise.
+	(hoist_memory_references): Likewise.  Commit edge insertions
+	of each processed exit.
+	(store_motion_loop): Do not commit edge insertions on all
+	edges in the function.
+	(tree_ssa_lim_initialize): Do not call alloc_aux_for_edges.
+	(tree_ssa_lim_finalize): Do not call free_aux_for_edges.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+	* genmatch.c (fail_label): New global.
+	(expr::gen_transform): Branch to fail_label instead of
+	returning.  Fix indent of call argument checking.
+	(dt_simplify::gen_1): Compute and emit fail_label, branch
+	to it instead of returning early.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-expand.c (expand_omp_for): Don't disallow combined non-rectangular
+	loops.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/96459
+	* omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in
+	for host teams.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-expand.c (expand_omp_for_init_counts): Remember
+	first_inner_iterations, factor and n1o from the number of iterations
+	computation in *fd.
+	(expand_omp_for_init_vars): Use more efficient logical iteration number
+	to actual iterator values computation even for non-rectangular loops
+	where number of loop iterations could not be computed at compile time.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h (vec_blendv, vec_permx): Add define.
+	* config/rs6000/altivec.md (UNSPEC_XXBLEND, UNSPEC_XXPERMX.): New
+	unspecs.
+	(VM3): New define_mode.
+	(VM3_char): New define_attr.
+	(xxblend_<mode> mode VM3): New define_insn.
+	(xxpermx): New define_expand.
+	(xxpermx_inst): New define_insn.
+	* config/rs6000/rs6000-builtin.def (VXXBLEND_V16QI, VXXBLEND_V8HI,
+	VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): New
+	BU_P10V_3 definitions.
+	(XXBLEND): New BU_P10_OVERLOAD_3 definition.
+	(XXPERMX): New BU_P10_OVERLOAD_4 definition.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	(P10_BUILTIN_VXXPERMX): Add if statement.
+	* config/rs6000/rs6000-call.c (P10_BUILTIN_VXXBLEND_V16QI,
+	P10_BUILTIN_VXXBLEND_V8HI, P10_BUILTIN_VXXBLEND_V4SI,
+	P10_BUILTIN_VXXBLEND_V2DI, P10_BUILTIN_VXXBLEND_V4SF,
+	P10_BUILTIN_VXXBLEND_V2DF, P10_BUILTIN_VXXPERMX): Define
+	overloaded arguments.
+	(rs6000_expand_quaternop_builtin): Add if case for CODE_FOR_xxpermx.
+	(builtin_quaternary_function_type): Add v16uqi_type and xxpermx_type
+	variables, add case statement for P10_BUILTIN_VXXPERMX.
+	(builtin_function_type): Add case statements for
+	P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+	P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI.
+	* doc/extend.texi: Add documentation for vec_blendv and vec_permx.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h (vec_splati, vec_splatid, vec_splati_ins):
+	Add defines.
+	* config/rs6000/altivec.md (UNSPEC_XXSPLTIW, UNSPEC_XXSPLTID,
+	UNSPEC_XXSPLTI32DX): New.
+	(vxxspltiw_v4si, vxxspltiw_v4sf_inst, vxxspltidp_v2df_inst,
+	vxxsplti32dx_v4si_inst, vxxsplti32dx_v4sf_inst): New define_insn.
+	(vxxspltiw_v4sf, vxxspltidp_v2df, vxxsplti32dx_v4si,
+	vxxsplti32dx_v4sf.): New define_expands.
+	* config/rs6000/predicates.md (u1bit_cint_operand,
+	s32bit_cint_operand, c32bit_cint_operand): New predicates.
+	* config/rs6000/rs6000-builtin.def (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF,
+	VXXSPLTID): New definitions.
+	(VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF): New BU_P10V_3
+	definitions.
+	(XXSPLTIW, XXSPLTID): New definitions.
+	(XXSPLTI32DX): Add definitions.
+	* config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XXSPLTIW,
+	P10_BUILTIN_VEC_XXSPLTID, P10_BUILTIN_VEC_XXSPLTI32DX):
+	New definitions.
+	* config/rs6000/rs6000-protos.h (rs6000_constF32toI32): New extern
+	declaration.
+	* config/rs6000/rs6000.c (rs6000_constF32toI32): New function.
+	* doc/extend.texi: Add documentation for vec_splati,
+	vec_splatid, and vec_splati_ins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h (vec_sldb, vec_srdb): New defines.
+	* config/rs6000/altivec.md (UNSPEC_SLDB, UNSPEC_SRDB): New.
+	(SLDB_lr): New attribute.
+	(VSHIFT_DBL_LR): New iterator.
+	(vs<SLDB_lr>db_<mode>): New define_insn.
+	* config/rs6000/rs6000-builtin.def (VSLDB_V16QI, VSLDB_V8HI,
+	VSLDB_V4SI, VSLDB_V2DI, VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI,
+	VSRDB_V2DI): New BU_P10V_3 definitions.
+	(SLDB, SRDB): New BU_P10_OVERLOAD_3 definitions.
+	* config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_SLDB,
+	P10_BUILTIN_VEC_SRDB): New definitions.
+	(rs6000_expand_ternop_builtin) [CODE_FOR_vsldb_v16qi,
+	CODE_FOR_vsldb_v8hi, CODE_FOR_vsldb_v4si, CODE_FOR_vsldb_v2di,
+	CODE_FOR_vsrdb_v16qi, CODE_FOR_vsrdb_v8hi, CODE_FOR_vsrdb_v4si,
+	CODE_FOR_vsrdb_v2di]: Add clauses.
+	* doc/extend.texi: Add description for vec_sldb and vec_srdb.
+
+2020-08-05  2020-08-04 Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h: Add define for vec_replace_elt and
+	vec_replace_unaligned.
+	* config/rs6000/vsx.md (UNSPEC_REPLACE_ELT, UNSPEC_REPLACE_UN): New
+	unspecs.
+	(REPLACE_ELT): New mode iterator.
+	(REPLACE_ELT_char, REPLACE_ELT_sh, REPLACE_ELT_max): New mode attributes.
+	(vreplace_un_<mode>, vreplace_elt_<mode>_inst): New.
+	* config/rs6000/rs6000-builtin.def (VREPLACE_ELT_V4SI,
+	VREPLACE_ELT_UV4SI, VREPLACE_ELT_V4SF, VREPLACE_ELT_UV2DI,
+	VREPLACE_ELT_V2DF, VREPLACE_UN_V4SI, VREPLACE_UN_UV4SI,
+	VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+	VREPLACE_UN_V2DF, (REPLACE_ELT, REPLACE_UN, VREPLACE_ELT_V2DI): New builtin
+	entries.
+	* config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_REPLACE_ELT,
+	P10_BUILTIN_VEC_REPLACE_UN): New builtin argument definitions.
+	(rs6000_expand_quaternop_builtin): Add 3rd argument checks for
+	CODE_FOR_vreplace_elt_v4si, CODE_FOR_vreplace_elt_v4sf,
+	CODE_FOR_vreplace_un_v4si, CODE_FOR_vreplace_un_v4sf.
+	(builtin_function_type) [P10_BUILTIN_VREPLACE_ELT_UV4SI,
+	P10_BUILTIN_VREPLACE_ELT_UV2DI, P10_BUILTIN_VREPLACE_UN_UV4SI,
+	P10_BUILTIN_VREPLACE_UN_UV2DI]: New cases.
+	* doc/extend.texi: Add description for vec_replace_elt and
+	vec_replace_unaligned builtins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h (vec_insertl, vec_inserth): New defines.
+	* config/rs6000/rs6000-builtin.def (VINSERTGPRBL, VINSERTGPRHL,
+	VINSERTGPRWL, VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL,
+	VINSERTGPRBR, VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR,
+	VINSERTVPRHR, VINSERTVPRWR): New builtins.
+	(INSERTL, INSERTH): New builtins.
+	* config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_INSERTL,
+	P10_BUILTIN_VEC_INSERTH): New overloaded definitions.
+	(P10_BUILTIN_VINSERTGPRBL, P10_BUILTIN_VINSERTGPRHL,
+	P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+	P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+	P10_BUILTIN_VINSERTVPRWL): Add case entries.
+	* config/rs6000/vsx.md (define_c_enum): Add UNSPEC_INSERTL,
+	UNSPEC_INSERTR.
+	(define_expand): Add vinsertvl_<mode>, vinsertvr_<mode>,
+	vinsertgl_<mode>, vinsertgr_<mode>, mode is VI2.
+	(define_ins): vinsertvl_internal_<mode>, vinsertvr_internal_<mode>,
+	vinsertgl_internal_<mode>, vinsertgr_internal_<mode>, mode VEC_I.
+	* doc/extend.texi: Add documentation for vec_insertl, vec_inserth.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+	(vextractl<mode>, vextractr<mode>)
+	(vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+	(VI2): Move to ...
+	* config/rs6000/vsx.md:	(UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+	(vextractl<mode>, vextractr<mode>)
+	(vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+	(VI2):  ..here.
+	* doc/extend.texi: Update documentation for vec_extractl.
+	Replace builtin name vec_extractr with vec_extracth.  Update
+	description of vec_extracth.
+
 2020-08-04  Jim Wilson  <jimw@sifive.com>
 
 	* doc/invoke.texi (AArch64 Options): Delete duplicate
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 3a7230a5cf2..c2e265fc4e9 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20200805
+20200806
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bd99f38c05b..55f846c8c28 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,12 @@
+2020-08-05  Patrick Palka  <ppalka@redhat.com>
+	    Jason Merrill  <jason@redhat.com>
+
+	PR c++/96282
+	* constexpr.c (cxx_eval_vec_init_1): Truncate ctx->ctor and
+	then clear CONSTRUCTOR_NO_CLEARING on each appended element
+	initializer if we're initializing a previously zero-initialized
+	array object.
+
 2020-08-04  Marek Polacek  <polacek@redhat.com>
 
 	PR c++/96082
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 023791b4cac..b4903e71b94 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,14 @@
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/96469
+	* frontend-passes.c (doloop_contained_function_call): New
+	function.
+	(doloop_contained_procedure_code): New function.
+	(CHECK_INQ): Macro for inquire checks.
+	(doloop_code): Invoke doloop_contained_procedure_code and
+	doloop_contained_function_call if appropriate.
+	(do_intent): Likewise.
+
 2020-08-04  Tobias Burnus  <tobias@codesourcery.com>
 
 	* openmp.c (resolve_omp_do): Detect not perfectly
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 41e2fb8ecfe..c4b2a3595b5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,58 @@
+2020-08-05  Patrick Palka  <ppalka@redhat.com>
+	    Jason Merrill  <jason@redhat.com>
+
+	PR c++/96282
+	* g++.dg/cpp0x/constexpr-array26.C: New test.
+	* g++.dg/cpp0x/constexpr-array27.C: New test.
+	* g++.dg/cpp2a/constexpr-init18.C: New test.
+
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/96469
+	* gfortran.dg/do_check_14.f90: New test.
+
+2020-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/96469
+	* gfortran.dg/do_check_4.f90: Hide change in index variable
+	from compile-time analysis.
+	* gfortran.dg/do_check_13.f90: New test.
+
+2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/95906
+	PR target/70314
+	* gcc.dg/tree-ssa/andnot-2.c: New file.
+	* gcc.dg/tree-ssa/pr95906.c: Likewise.
+	* gcc.target/i386/pr70314.c: Likewise.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR target/96191
+	* gcc.target/aarch64/stack-protector-1.c: New test.
+	* gcc.target/aarch64/stack-protector-2.c: Likewise.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* gcc.target/powerpc/vec-blend-runnable.c: New test.
+	* gcc.target/powerpc/vec-permute-ext-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* gcc.target/powerpc/vec-splati-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* gcc.target/powerpc/vec-shift-double-runnable.c:  New test file.
+
+2020-08-05  2020-08-04 Carl Love  <cel@us.ibm.com>
+
+	* gcc.target/powerpc/vec-replace-word-runnable.c: New test.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+	* gcc.target/powerpc/vec-insert-word-runnable.c: New test case.
+
 2020-08-04  Roger Sayle  <roger@nextmovesoftware.com>
 
 	* gcc.target/nvptx/mul-hi.c: New test.
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index d531e5118ea..c2708fe3d7c 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,19 @@
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* testsuite/libgomp.c/loop-22.c: New test.
+	* testsuite/libgomp.c/loop-23.c: New test.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/96459
+	* testsuite/libgomp.c/teams-3.c: New test.
+	* testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
+	if not defined yet.
+	(N(test)): Use it before all N(f*) calls.
+	* testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
+	(main): Don't call all test_* functions from within
+	#pragma omp teams reduction(|:err), call them directly.
+
 2020-08-04  Tom de Vries  <tdevries@suse.de>
 
 	PR target/96428
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index bf3b8d11bb5..ddd78334460 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,64 @@
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/atomic (atomic<T>::store): Reformat.
+
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/xml/manual/status_cxx2017.xml: Replace oneAPI DPC++ link
+	with LLVM repo for PSTL.
+	* doc/html/manual/status.html: Regenerate.
+
+2020-08-05  Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Export new symbols.
+	* include/bits/istream.tcc (__istream_extract): New function
+	template implementing both of operator>>(istream&, char*) and
+	operator>>(istream&, char(&)[N]). Add explicit instantiation
+	declaration for it. Remove explicit instantiation declarations
+	for old function templates.
+	* include/std/istream (__istream_extract): Declare.
+	(operator>>(basic_istream<C,T>&, C*)): Define inline and simply
+	call __istream_extract.
+	(operator>>(basic_istream<char,T>&, signed char*)): Likewise.
+	(operator>>(basic_istream<char,T>&, unsigned char*)): Likewise.
+	(operator>>(basic_istream<C,T>&, C(7)[N])): Define for LWG 2499.
+	(operator>>(basic_istream<char,T>&, signed char(&)[N])):
+	Likewise.
+	(operator>>(basic_istream<char,T>&, unsigned char(&)[N])):
+	Likewise.
+	* include/std/streambuf (basic_streambuf): Declare char overload
+	of __istream_extract as a friend.
+	* src/c++11/istream-inst.cc: Add explicit instantiation
+	definition for wchar_t overload of __istream_extract. Remove
+	explicit instantiation definitions of old operator>> overloads
+	for versioned-namespace build.
+	* src/c++98/istream.cc (operator>>(istream&, char*)): Replace
+	with __istream_extract(istream&, char*, streamsize).
+	* testsuite/27_io/basic_istream/extractors_character/char/3.cc:
+	Do not use variable-length array.
+	* testsuite/27_io/basic_istream/extractors_character/char/4.cc:
+	Do not run test for C++20.
+	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
+	Do not test writing to pointers for C++20.
+	* testsuite/27_io/basic_istream/extractors_character/char/9826.cc:
+	Use array instead of pointer.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
+	Do not use variable-length array.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
+	Do not run test for C++20.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc:
+	Do not test writing to pointers for C++20.
+	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
+	New test.
+	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
+	New test.
+	* testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
+	New test.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
+	New test.
+	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
+	New test.
+
 2020-08-01  Gerald Pfeifer  <gerald@pfeifer.com>
 
 	* doc/xml/manual/using_exceptions.xml: Move www.stroustrup.com to


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-08-18 14:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-18 14:29 [gcc(refs/users/acsawdey/heads/memcpy-unaligned-vsx)] Daily bump Aaron Sawdey
  -- strict thread matches above, loose matches on Subject: below --
2020-08-17 19:46 Aaron Sawdey
2020-08-14 21:42 Aaron Sawdey
2020-08-13 19:58 Aaron Sawdey
2020-08-13 19:56 Aaron Sawdey
2020-08-13 19:55 Aaron Sawdey
2020-08-10 23:23 Aaron Sawdey
2020-08-10 23:22 Aaron Sawdey
2020-08-10 23:20 Aaron Sawdey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).