2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* parser.c (cp_parser_omp_clause_detach): New.
	(cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
	(OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
	* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
	* semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
	Prevent use of detach with mergeable and overriding the	data sharing
	mode of the event handle.

2021-01-15  Nathan Sidwell  <nathan@acm.org>

	PR c++/98538
	* tree.c (cp_build_qualified_type_real): Propagate an array's
	dependentness to the copy, if known.

2021-01-15  Jason Merrill  <jason@redhat.com>

	PR c++/98642
	* call.c (unsafe_return_slot_p): Return int.
	(init_by_return_slot_p): Split out from...
	(unsafe_copy_elision_p): ...here.
	(unsafe_copy_elision_p_opt): New name for old meaning.
	(build_over_call): Adjust.
	(make_safe_copy_elision): New.
	* typeck2.c (split_nonconstant_init_1): Elide copy from safe
	list-initialization.
	* cp-tree.h: Adjust.

2021-01-15  Jason Merrill  <jason@redhat.com>

	* call.c (base_ctor_for, make_base_init_ok): New.
	(build_over_call): Use make_base_init_ok.

2021-01-15  Jason Merrill  <jason@redhat.com>

	PR c++/63707
	* tree.c (build_vec_init_expr): Don't call build_vec_init_elt
	if we got a CONSTRUCTOR.

2021-01-15  Nathan Sidwell  <nathan@acm.org>

	PR c++/98591
	* lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.

2021-01-14  Jason Merrill  <jason@redhat.com>

	* typeck2.c (process_init_constructor_record): Use fldtype
	variable consistently.

2021-01-14  Nathan Sidwell  <nathan@acm.org>

	PR c++/98372
	* tree.c (cp_tree_equal): Correct map_context logic.

2021-01-13  Marek Polacek  <polacek@redhat.com>

	PR c++/98231
	* name-lookup.c (push_using_decl_bindings): New.
	* name-lookup.h (push_using_decl_bindings): Declare.
	* pt.c (tsubst_expr): Call push_using_decl_bindings.

2021-01-13  Nathan Sidwell  <nathan@acm.org>

	PR c++/98626
	* module.cc (module_add_import_initializers):  Pass a
	zero-element argument vector.

2021-01-12  Patrick Palka  <ppalka@redhat.com>

	PR c++/98611
	* tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
	the template of a CTAD placeholder.

2021-01-12  Marek Polacek  <polacek@redhat.com>

	PR c++/98620
	* typeck2.c (process_init_constructor_record): Don't emit
	-Wmissing-field-initializers warnings in unevaluated contexts.

2021-01-11  Jakub Jelinek  <jakub@redhat.com>

	PR c++/98481
	* class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
	for types.
	(mark_abi_tags_r): Likewise.
	* decl2.c (min_vis_r): Likewise.
	* tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
	typedefs.

2021-01-08  Patrick Palka  <ppalka@redhat.com>

	PR c++/98551
	* constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
	instead of AGGREGATE_TYPE_P before calling replace_result_decl.

2021-01-08  Patrick Palka  <ppalka@redhat.com>

	PR c++/98515
	* semantics.c (check_accessibility_of_qualified_id): Punt if
	we're checking access of a scoped non-static member inside a
	class template.

2021-01-07  Jakub Jelinek  <jakub@redhat.com>

	PR c++/98329
	* pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
	cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
	its location.
	(tsubst_copy_and_build): Handle BIT_CAST_EXPR.

2021-01-07  Marek Polacek  <polacek@redhat.com>

	PR c++/98441
	* decl.c (grokdeclarator): Move the !funcdecl_p check inside the
	!late_return_type block.

2021-01-07  Jason Merrill  <jason@redhat.com>

	* constexpr.c (cxx_bind_parameters_in_call): Add comment.
	(cxx_eval_store_expression): Add comment.

2021-01-07  Jason Merrill  <jason@redhat.com>

	* call.c (has_next): Factor out from...
	(next_conversion): ...here.
	(strip_standard_conversion): And here.
	(is_subseq): And here.
	(build_conv): Check it.
	(standard_conversion): Don't call build_conv
	for ck_identity.

2021-01-06  Martin Sebor  <msebor@redhat.com>

	PR c++/95768
	* error.c (dump_expr): Call c_pretty_printer::unary_expression.

2021-01-05  Patrick Palka  <ppalka@redhat.com>

	* pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
	the type of the NTTP, substitute into the type again.  If the
	type is still dependent, don't unify the NTTP.

2021-01-05  Jakub Jelinek  <jakub@redhat.com>

	* Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
	$(CODYLIB) after $(BACKEND).

2021-01-05  Jakub Jelinek  <jakub@redhat.com>

	PR c++/98469
	* constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
	Punt if lval is true.
	* semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
	the result if it has a class type.

2021-01-05  Marek Polacek  <polacek@redhat.com>

	PR c++/82099
	* pt.c (resolve_overloaded_unification): Call
	maybe_instantiate_noexcept after instantiating the function
	decl.

2021-01-05  Nathan Sidwell  <nathan@acm.org>

	* parser.c (cp_parser_module_declaration): Alter diagnostic
	text to say where is permissable.

2021-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR c++/98316
	* Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).

2021-01-02  Jan Hubicka  <jh@suse.cz>

	* cp-tree.h (cp_tree_c_finish_parsing): Declare.
	* decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
	* tree.c (cp_tree_c_finish_parsing): New function.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* ChangeLog-2020: Rotate ChangeLog.  New file.


Copyright (C) 2021 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
