gcc/libcc1
Nathan Sidwell 068644a149 c++: DECL_FRIEND_P cleanup
DECL_FRIEND_P's meaning has changed over time.  It now (almost) means
the the friend function decl has not been met via an explicit decl.
This completes that transition, renaming it to DECL_UNIQUE_FRIEND_P,
so one doesn't think it is the sole indicator of friendliness (plenty
of friends do not have the flag set).  This allows reduction in the
complexity of managing the field -- all in duplicate_decls now.

	gcc/cp/
	* cp-tree.h (struct lang_decl_fn): Adjust context comment.
	(DECL_FRIEND_P): Replace with ...
	(DECL_UNIQUE_FRIEND_P): ... this.  Only for FUNCTION_DECLs.
	(DECL_FRIEND_CONTEXT): Adjust.
	* class.c (add_implicitly_declared_members): Detect friendly
	spaceship from context.
	* constraint.cc (remove_constraints): Use a checking assert.
	(maybe_substitute_reqs_for): Use DECL_UNIQUE_FRIEND_P.
	* decl.c (check_no_redeclaration_friend_default_args):
	DECL_UNIQUE_FRIEND_P is signficant, not hiddenness.
	(duplicate_decls): Adjust DECL_UNIQUE_FRIEND_P clearing.
	(redeclaration_error_message): Use DECL_UNIQUE_FRIEND_P.
	(start_preparsed_function): Correct in-class friend processing.
	Refactor some initializers.
	(grokmethod): Directly check friend decl-spec.
	* decl2.c (grokfield): Check DECL_UNIQUE_FRIEND_P.
	* friend.c (do_friend): Set DECL_UNIQUE_FRIEND_P first, remove
	extraneous conditions.  Don't re set it afterwards.
	* name-lookup.c (lookup_elaborated_type_1): Simplify revealing
	code.
	(do_pushtag): Likewise.
	* pt.c (optimize_specialization_lookup_p): Check
	DECL_UNIQUE_FRIEND_P.
	(push_template_decl): Likewise.  Drop unneeded friend setting.
	(type_dependent_expression_p): Check DECL_UNIQUE_FRIEND_P.
	libcc1/
	* libcp1plugin.cc (plugin_add_friend): Set DECL_UNIQUE_FRIEND_P.
2020-10-14 10:04:18 -07:00
..
aclocal.m4 libcc1: Enable Intel CET on Intel CET enabled host 2020-05-12 09:12:37 -07:00
callbacks.cc Update copyright years. 2020-01-01 12:51:42 +01:00
callbacks.hh Update copyright years. 2020-01-01 12:51:42 +01:00
cc1plugin-config.h.in
ChangeLog Daily bump. 2020-10-08 00:16:30 +00:00
compiler-name.hh Update copyright years. 2020-01-01 12:51:42 +01:00
configure Require CET support only for the final GCC build 2020-07-30 05:36:24 -07:00
configure.ac libcc1: Enable Intel CET on Intel CET enabled host 2020-05-12 09:12:37 -07:00
connection.cc Update copyright years. 2020-01-01 12:51:42 +01:00
connection.hh Update copyright years. 2020-01-01 12:51:42 +01:00
findcomp.cc Update copyright years. 2020-01-01 12:51:42 +01:00
findcomp.hh Update copyright years. 2020-01-01 12:51:42 +01:00
libcc1.cc Update copyright years. 2020-01-01 12:51:42 +01:00
libcc1.sym Introduce C++ support in libcc1 2017-01-31 01:02:03 +00:00
libcc1plugin.cc Update copyright years. 2020-01-01 12:51:42 +01:00
libcc1plugin.sym
libcp1.cc Update copyright years. 2020-01-01 12:51:42 +01:00
libcp1plugin.cc c++: DECL_FRIEND_P cleanup 2020-10-14 10:04:18 -07:00
libcp1plugin.sym Introduce C++ support in libcc1 2017-01-31 01:02:03 +00:00
Makefile.am libcc1: Enable Intel CET on Intel CET enabled host 2020-05-12 09:12:37 -07:00
Makefile.in libcc1: Enable Intel CET on Intel CET enabled host 2020-05-12 09:12:37 -07:00
marshall-c.hh Update copyright years. 2020-01-01 12:51:42 +01:00
marshall-cp.hh Update copyright years. 2020-01-01 12:51:42 +01:00
marshall.cc Update copyright years. 2020-01-01 12:51:42 +01:00
marshall.hh Update copyright years. 2020-01-01 12:51:42 +01:00
names.cc Update copyright years. 2020-01-01 12:51:42 +01:00
names.hh Update copyright years. 2020-01-01 12:51:42 +01:00
rpc.hh Update copyright years. 2020-01-01 12:51:42 +01:00
status.hh Update copyright years. 2020-01-01 12:51:42 +01:00