From d62586ee567bbbdab9fe8bb5829f032431d57098 Mon Sep 17 00:00:00 2001
From: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Fri, 20 Nov 2020 00:16:40 +0000
Subject: [PATCH] Daily bump.

---
 gcc/ChangeLog           | 177 ++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |  15 ++++
 gcc/c/ChangeLog         |   6 ++
 gcc/cp/ChangeLog        |  45 ++++++++++
 gcc/testsuite/ChangeLog |  74 +++++++++++++++++
 libcpp/ChangeLog        |  33 ++++++++
 libstdc++-v3/ChangeLog  |  50 ++++++++++++
 8 files changed, 401 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f4e89b8799ff..f0016e9445c5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,180 @@
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/91029
+	* range-op.cc (operator_trunc_mod::op1_range): Don't require signed
+	types, nor require that op2 >= 0.  Implement (a % b) >= x && x > 0
+	implies a >= x and (a % b) <= x && x < 0 implies a <= x.
+	(operator_trunc_mod::op2_range): New method.
+
+2020-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+	PR tree-optimization/93781
+	* range-op.cc (get_shift_range): Rename from
+	undefined_shift_range_check and now return valid shift ranges.
+	(operator_lshift::fold_range): Use result from get_shift_range.
+	(operator_rshift::fold_range): Ditto.
+
+2020-11-19  Jan Hubicka  <jh@suse.cz>
+
+	* fold-const.c (operand_compare::operand_equal_p): Fix thinko in
+	COMPONENT_REF handling and guard types_same_for_odr by
+	virtual_method_call_p.
+	(operand_compare::hash_operand): Likewise.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/97860
+	* tree.c (array_type_nelts): For complete arrays with zero min
+	and NULL max and zero size return -1.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	* configure.ac: Add tests for fstatat, sighandler_t, O_CLOEXEC,
+	unix-domain and ipv6 sockets.
+	* config.in: Rebuilt.
+	* configure: Rebuilt.
+
+2020-11-19  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* config/pru/alu-zext.md: Add lmbd patterns for zero_extend
+	variants.
+	* config/pru/pru.c (enum pru_builtin): Add HALT and LMBD.
+	(pru_init_builtins): Ditto.
+	(pru_builtin_decl): Ditto.
+	(pru_expand_builtin): Ditto.
+	* config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Define PRU
+	value for CLZ with zero value parameter.
+	* config/pru/pru.md: Add halt, lmbd and clz patterns.
+	* doc/extend.texi: Document PRU builtins.
+
+2020-11-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* doc/invoke.texi (-fvect-cost-model): Add a very-cheap model.
+	* common.opt (fvect-cost-model=): Add very-cheap as a possible option.
+	(fsimd-cost-model=): Likewise.
+	(vect_cost_model): Add very-cheap.
+	* flag-types.h (vect_cost_model): Add VECT_COST_MODEL_VERY_CHEAP.
+	Put the values in order of increasing aggressiveness.
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use
+	range checks when comparing against VECT_COST_MODEL_CHEAP.
+	(vect_prune_runtime_alias_test_list): Do not allow any alias
+	checks for the very-cheap cost model.
+	* tree-vect-loop.c (vect_analyze_loop_costing): Do not allow
+	any peeling for the very-cheap cost model.  Also require one
+	iteration of the vector loop to pay for itself.
+
+2020-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (neoversen1_tunings): Use new
+	cortexa76_extra_costs.
+	(neoversev1_tunings): Likewise.
+	(neoversen2_tunines): Likewise.
+	* config/arm/aarch-cost-tables.h (cortexa76_extra_costs):
+	add new costs.
+
+2020-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_expand_cpymem): Cleanup code and
+	comments, tweak expansion decisions and improve tail expansion.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	* fold-const.c (operand_compare::hash_operand): Fix typo.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-reassoc.c (get_rank): Refactor to consistently
+	use the cache and dump ranks assigned.
+
+2020-11-19  Jan Hubicka  <jh@suse.cz>
+
+	* fold-const.c (operand_compare::operand_equal_p): More OBJ_TYPE_REF
+	matching to correct place; drop OEP_ADDRESS_OF for TOKEN, OBJECT and
+	class.
+	(operand_compare::hash_operand): Hash ODR type for OBJ_TYPE_REF.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+	* config/aarch64/aarch64-simd.md: Add vec_widen_lshift_hi/lo<mode>
+	patterns.
+	* tree-vect-stmts.c (vectorizable_conversion): Fix for widen_lshift
+	case.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+	* doc/generic.texi: Document new widen_plus/minus_lo/hi tree codes.
+	* doc/md.texi: Document new widenening add/subtract hi/lo optabs.
+	* expr.c (expand_expr_real_2): Add widen_add, widen_subtract cases.
+	* optabs-tree.c (optab_for_tree_code): Add case for widening optabs.
+	* optabs.def (OPTAB_D): Define vectorized widen add, subtracts.
+	* tree-cfg.c (verify_gimple_assign_binary): Add case for widening adds,
+	subtracts.
+	* tree-inline.c (estimate_operator_cost): Add case for widening adds,
+	subtracts.
+	* tree-vect-generic.c (expand_vector_operations_1): Add case for
+	widening adds, subtracts
+	* tree-vect-patterns.c (vect_recog_widen_add_pattern): New recog
+	pattern.
+	(vect_recog_widen_sub_pattern): New recog pattern.
+	(vect_recog_average_pattern): Update widened add code.
+	(vect_recog_average_pattern): Update widened add code.
+	* tree-vect-stmts.c (vectorizable_conversion): Add case for widened add,
+	subtract.
+	(supportable_widening_operation): Add case for widened add, subtract.
+	* tree.def
+	(WIDEN_PLUS_EXPR): New tree code.
+	(WIDEN_MINUS_EXPR): New tree code.
+	(VEC_WIDEN_ADD_HI_EXPR): New tree code.
+	(VEC_WIDEN_PLUS_LO_EXPR): New tree code.
+	(VEC_WIDEN_MINUS_HI_EXPR): New tree code.
+	(VEC_WIDEN_MINUS_LO_EXPR): New tree code.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+	* config/aarch64/aarch64-simd.md: New patterns
+	vec_widen_saddl_lo/hi_<mode>.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/97901
+	* tree-ssa-propagate.c (clean_up_loop_closed_phi): Compute
+	dominators and use replace_uses_by.
+
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* dwarf2out.h (struct fixed_point_type_info) <scale_factor>: Turn
+	numerator and denominator into a tree.
+	* dwarf2out.c (base_type_die): In the case of a fixed-point type
+	with arbitrary scale factor, call add_scalar_info on numerator and
+	denominator to emit the appropriate attributes.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/97897
+	* tree-complex.c (complex_propagate::visit_stmt): Make sure
+	abnormally used SSA names are VARYING.
+	(complex_propagate::visit_phi): Likewise.
+	* tree-ssa.c (verify_phi_args): Verify PHI arguments on abnormal
+	edges are SSA names.
+
+2020-11-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*<absneg:code><mode>2_i387_1):
+	Disable for TARGET_SSE_MATH modes.
+
+2020-11-19  Jeff Law  <law@redhat.com>
+
+	* config/h8300/constraints.md (R constraint): Add argument to call
+	to h8300_shift_needs_scratch_p.
+	(S and T constraints): Similary.
+	* config/h8300/h8300-protos.h: Update h8300_shift_needs_scratch_p
+	prototype.
+	* config/h8300/h8300.c (expand_a_shift): Emit a different pattern
+	if the shift does not require a scratch register.
+	(h8300_shift_needs_scratch_p): Refine to be more accurate.
+	* config/h8300/shiftrotate.md (shiftqi_noscratch): New pattern.
+	(shifthi_noscratch, shiftsi_noscratch): Similarly.
+
 2020-11-18  Roger Sayle  <roger@nextmovesoftware.com>
 
 	PR middle-end/85811
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index f5efa497de1d..e732e26b1c70 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20201119
+20201120
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 13ea49a61c3b..162ca0716ab2 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,18 @@
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/97805
+	* adaint.c: Include climits in C++ and limits.h otherwise.
+
+2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_dbug.adb (Is_Handled_Scale_Factor): Delete.
+	(Get_Encoded_Name): Do not call it.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>:
+	Tidy up and always use a meaningful description for arbitrary
+	scale factors.
+	* gcc-interface/misc.c (gnat_get_fixed_point_type_info): Remove
+	obsolete block and adjust the description of the scale factor.
+
 2020-11-18  Jakub Jelinek  <jakub@redhat.com>
 
 	* gcc-interface/Make-lang.in (ada.serial): New goal.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index f5b173c74f01..36c863680e10 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/97860
+	* c-decl.c (get_parm_array_spec): Bail out of nelts is
+	error_operand_p.
+
 2020-11-18  Jakub Jelinek  <jakub@redhat.com>
 
 	* Make-lang.in (c.serial): New goal.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b72904baa804..b710170236d0 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,48 @@
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	* cp-tree.h (struct spec_entry): Moved from pt.c.
+	(walk_specializations, match_mergeable_specialization)
+	(get_mergeable_specialization_flags)
+	(add_mergeable_specialization): Declare.
+	* pt.c (struct spec_entry): Moved to cp-tree.h.
+	(walk_specializations, match_mergeable_specialization)
+	(get_mergeable_specialization_flags)
+	(add_mergeable_specialization): New.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	* cp-tree.h (struct constexpr_fundef): Moved from constexpr.c.
+	(maybe_save_constexpr_fundef): Declare.
+	(register_constexpr_fundef): Take constexpr_fundef object, return
+	void.
+	* decl.c (mabe_save_function_definition): Delete, functionality
+	moved to maybe_save_constexpr_fundef.
+	(emit_coro_helper, finish_function): Adjust.
+	* constexpr.c (struct constexpr_fundef): Moved to cp-tree.h.
+	(constexpr_fundef_hasher::equal): Constify.
+	(constexpr_fundef_hasher::hash): Constify.
+	(retrieve_constexpr_fundef): Make non-static.
+	(maybe_save_constexpr_fundef): Break out checking and duplication
+	from ...
+	(register_constexpr_fundef): ... here.  Just register the constexpr.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/97523
+	* init.c (build_new): When value-initializing an array new,
+	leave the INIT as an empty vector.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/97895
+	* pt.c (do_auto_deduction): Don't crash when the constructor has
+	zero elements.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	PR c++/97905
+	* decl.c (duplicate_decls): Relax new assert.
+
 2020-11-18  Iain Sandoe  <iain@sandoe.co.uk>
 
 	* parser.c (cp_parser_objc_valid_prefix_attributes): Check
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 05ea2a7e5d37..88fd83d68c19 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,77 @@
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/91029
+	* gcc.dg/tree-ssa/pr91029-1.c: New test.
+	* gcc.dg/tree-ssa/pr91029-2.c: New test.
+
+2020-11-19  Andrew MacLeod  <amacleod@redhat.com>
+
+	* gcc.dg/tree-ssa/pr93781-1.c: New.
+	* gcc.dg/tree-ssa/pr93781-2.c: New.
+	* gcc.dg/tree-ssa/pr93781-3.c: New.
+
+2020-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/97860
+	* gcc.dg/pr97860.c: New test.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/97523
+	* g++.dg/expr/anew5.C: New test.
+	* g++.dg/expr/anew6.C: New test.
+
+2020-11-19  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/97895
+	* g++.dg/cpp0x/auto54.C: New test.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	PR c++/97905
+	* g++.dg/lookup/pr97905.C: New.
+
+2020-11-19  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* gcc.target/pru/halt.c: New test.
+	* gcc.target/pru/lmbd.c: New test.
+
+2020-11-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* gcc.dg/vect/vect-cost-model-1.c: New test.
+	* gcc.dg/vect/vect-cost-model-2.c: Likewise.
+	* gcc.dg/vect/vect-cost-model-3.c: Likewise.
+	* gcc.dg/vect/vect-cost-model-4.c: Likewise.
+	* gcc.dg/vect/vect-cost-model-5.c: Likewise.
+	* gcc.dg/vect/vect-cost-model-6.c: Likewise.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	* gcc.dg/pr97897.c: Add dg-options.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+	* gcc.target/aarch64/vect-widen-lshift.c: New test.
+
+2020-11-19  Joel Hutton  <joel.hutton@arm.com>
+
+	* gcc.target/aarch64/vect-widen-add.c: New test.
+	* gcc.target/aarch64/vect-widen-sub.c: New test.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/97901
+	* gcc.dg/torture/pr97901.c: New testcase.
+
+2020-11-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/97897
+	* gcc.dg/pr97897.c: New testcase.
+
+2020-11-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+	* gcc.target/i386/pr97887.c: New test.
+
 2020-11-18  Roger Sayle  <roger@nextmovesoftware.com>
 
 	PR middle-end/85811
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 8cafaf38707e..144308396fbd 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,36 @@
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	* include/cpplib.h (enum cpp_main_search): New.
+	(struct cpp_options): Add main_search field.
+	(cpp_main_loc): Declare.
+	(cpp_retrofit_as_include): Declare.
+	* internal.h (struct cpp_reader): Add main_loc field.
+	(_cpp_in_main_source_file): Not main if main is a header.
+	* init.c (cpp_read_main_file): Use main_search option to locate
+	main file.  Set main_loc
+	* files.c (cpp_retrofit_as_include): New.
+
+2020-11-19  Nathan Sidwell  <nathan@acm.org>
+
+	* internal.h (cpp_in_system_header): Rename to ...
+	(_cpp_in_system_header): ... here.
+	(cpp_in_primary_file): Rename to ...
+	(_cpp_in_main_source_file): ... here.  Compare main_file equality
+	and check main_search value.
+	* lex.c (maybe_va_opt_error, _cpp_lex_direct): Adjust for rename.
+	* macro.c (_cpp_builtin_macro_text): Likewise.
+	(replace_args): Likewise.
+	* directives.c (do_include_next): Likewise.
+	(do_pragma_once, do_pragma_system_header): Likewise.
+	* files.c (struct _cpp_file): Delete main_file field.
+	(pch_open): Check pfile->main_file equality.
+	(make_cpp_file): Drop cpp_reader parm, don't set main_file.
+	(_cpp_find_file): Adjust.
+	(_cpp_stack_file): Check pfile->main_file equality.
+	(struct report_missing_guard_data): Add cpp_reader field.
+	(report_missing_guard): Check pfile->main_file equality.
+	(_cpp_report_missing_guards): Adjust.
+
 2020-11-18  Nathan Sidwell  <nathan@acm.org>
 
 	* include/cpplib.h (struct cpp_options): Add module_directives
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index bfb9ae501415..53b2d76cd056 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,53 @@
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/95989
+	* config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID):
+	Define new macro to get reliable thread ID.
+	* include/bits/std_thread.h: (this_thread::get_id): Use new
+	macro if it's defined.
+	* testsuite/30_threads/jthread/95989.cc: New test.
+	* testsuite/30_threads/this_thread/95989.cc: New test.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/30_threads/async/async.cc: Include <thread>.
+	* testsuite/30_threads/future/members/93456.cc: Likewise.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/92546
+	* include/Makefile.am: Add new <bits/std_thread.h> header.
+	* include/Makefile.in: Regenerate.
+	* include/std/future: Include new header instead of <thread>.
+	* include/std/stop_token: Include new header instead of
+	<bits/gthr.h>.
+	(stop_token::_S_yield()): Use this_thread::yield().
+	(_Stop_state_t::_M_requester): Change type to std::thread::id.
+	(_Stop_state_t::_M_request_stop()): Use this_thread::get_id().
+	(_Stop_state_t::_M_remove_callback(_Stop_cb*)): Likewise.
+	Use __is_single_threaded() to decide whether to synchronize.
+	* include/std/thread (thread, operator==, this_thread::get_id)
+	(this_thread::yield): Move to new header.
+	(operator<=>, operator!=, operator<, operator<=, operator>)
+	(operator>=, hash<thread::id>, operator<<): Define even when
+	gthreads not available.
+	* src/c++11/thread.cc: Include <memory>.
+	* include/bits/std_thread.h: New file.
+	(thread, operator==, this_thread::get_id, this_thread::yield):
+	Define even when gthreads not available.
+	[!_GLIBCXX_HAS_GTHREADS] (thread::join, thread::detach)
+	(thread::hardware_concurrency): Define inline.
+
+2020-11-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/93421
+	PR libstdc++/93456
+	* src/c++11/futex.cc (syscall_time_t): New typedef for
+	the type of the syscall_timespec::tv_sec member.
+	(relative_timespec, _M_futex_wait_until)
+	(_M_futex_wait_until_steady): Use syscall_time_t in overflow
+	checks, not time_t.
+
 2020-11-18  Patrick Palka  <ppalka@redhat.com>
 
 	* include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify
-- 
GitLab