gcc/libcc1
waffl3x f9fbf93dc8 c++: P0847R7 (deducing this) - prerequisite changes. [PR102609]
Adds the xobj_flag member to lang_decl_fn and a corresponding member access
macro and predicate to support the addition of explicit object member
functions. Additionally, since explicit object member functions are also
non-static member functions, we need to change uses of
DECL_NONSTATIC_MEMBER_FUNCTION_P to clarify whether they intend to include
or exclude them.

	PR c++/102609

gcc/cp/ChangeLog:

	* cp-tree.h (struct lang_decl_fn): New data member.
	(DECL_NONSTATIC_MEMBER_FUNCTION_P): Poison.
	(DECL_IOBJ_MEMBER_FUNCTION_P): Define.
	(DECL_FUNCTION_XOBJ_FLAG): Define.
	(DECL_XOBJ_MEMBER_FUNCTION_P): Define.
	(DECL_OBJECT_MEMBER_FUNCTION_P): Define.
	(DECL_FUNCTION_MEMBER_P): Don't use
	DECL_NONSTATIC_MEMBER_FUNCTION_P.
	(DECL_CONST_MEMFUNC_P): Likewise.
	(DECL_VOLATILE_MEMFUNC_P): Likewise.
	(DECL_NONSTATIC_MEMBER_P): Likewise.
	* module.cc (trees_out::lang_decl_bools): Handle xobj_flag.
	(trees_in::lang_decl_bools): Handle xobj_flag.
	* call.cc (build_this_conversion)
	(add_function_candidate)
	(add_template_candidate_real)
	(add_candidates)
	(maybe_warn_class_memaccess)
	(cand_parms_match)
	(joust)
	(do_warn_dangling_reference)
	* class.cc (finalize_literal_type_property)
	(finish_struct)
	(resolve_address_of_overloaded_function)
	* constexpr.cc (is_valid_constexpr_fn)
	(cxx_bind_parameters_in_call)
	* contracts.cc (build_contract_condition_function)
	* cp-objcp-common.cc (cp_decl_dwarf_attribute)
	* cxx-pretty-print.cc (cxx_pretty_printer::postfix_expression)
	(cxx_pretty_printer::declaration_specifiers)
	(cxx_pretty_printer::direct_declarator)
	* decl.cc (cp_finish_decl)
	(grok_special_member_properties)
	(start_preparsed_function)
	(record_key_method_defined)
	* decl2.cc (cp_handle_deprecated_or_unavailable)
	* init.cc (find_uninit_fields_r)
	(build_offset_ref)
	* lambda.cc (lambda_expr_this_capture)
	(maybe_generic_this_capture)
	(nonlambda_method_basetype)
	* mangle.cc (write_nested_name)
	* method.cc (early_check_defaulted_comparison)
	(skip_artificial_parms_for)
	(num_artificial_parms_for)
	* pt.cc (is_specialization_of_friend)
	(determine_specialization)
	(copy_default_args_to_explicit_spec)
	(check_explicit_specialization)
	(tsubst_contract_attribute)
	(check_non_deducible_conversions)
	(more_specialized_fn)
	(maybe_instantiate_noexcept)
	(register_parameter_specializations)
	(value_dependent_expression_p)
	* search.cc (shared_member_p)
	(lookup_member)
	(field_access_p)
	* semantics.cc (finish_omp_declare_simd_methods)
	* tree.cc (lvalue_kind)
	* typeck.cc (invalid_nonstatic_memfn_p): Don't use
	DECL_NONSTATIC_MEMBER_FUNCTION_P.

libcc1/ChangeLog:

	* libcp1plugin.cc (plugin_pragma_push_user_expression): Don't use
	DECL_NONSTATIC_MEMBER_FUNCTION_P.

Signed-off-by: Waffl3x <waffl3x@protonmail.com>
Co-authored-by: Jason Merrill <jason@redhat.com>
2024-01-09 15:59:04 -05: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. 2024-01-03 12:19:35 +01:00
callbacks.hh Update copyright years. 2024-01-03 12:19:35 +01:00
cc1plugin-config.h.in
ChangeLog Daily bump. 2023-12-07 00:17:06 +00:00
compiler-name.hh Update copyright years. 2024-01-03 12:19:35 +01:00
compiler.cc Update copyright years. 2024-01-03 12:19:35 +01:00
compiler.hh Update copyright years. 2024-01-03 12:19:35 +01:00
configure Config,Darwin: Allow for configuring Darwin to use embedded runpath. 2023-10-22 19:30:02 +01:00
configure.ac Update copyright years. 2024-01-03 12:19:35 +01:00
connection.cc Update copyright years. 2024-01-03 12:19:35 +01:00
connection.hh Update copyright years. 2024-01-03 12:19:35 +01:00
context.cc Update copyright years. 2024-01-03 12:19:35 +01:00
context.hh Update copyright years. 2024-01-03 12:19:35 +01:00
deleter.hh Update copyright years. 2024-01-03 12:19:35 +01:00
findcomp.cc Update copyright years. 2024-01-03 12:19:35 +01:00
findcomp.hh Update copyright years. 2024-01-03 12:19:35 +01:00
gdbctx.hh Update copyright years. 2024-01-03 12:19:35 +01:00
libcc1.cc Update copyright years. 2024-01-03 12:19:35 +01:00
libcc1.sym
libcc1plugin.cc Update copyright years. 2024-01-03 12:19:35 +01:00
libcc1plugin.sym
libcp1.cc Update copyright years. 2024-01-03 12:19:35 +01:00
libcp1plugin.cc c++: P0847R7 (deducing this) - prerequisite changes. [PR102609] 2024-01-09 15:59:04 -05:00
libcp1plugin.sym
Makefile.am Update copyright years. 2024-01-03 12:19:35 +01:00
Makefile.in Darwin, libcc1: Handle hosts with mdynamic-no-pic support. 2021-08-17 20:03:56 +01:00
marshall-cp.hh Update copyright years. 2024-01-03 12:19:35 +01:00
marshall.cc Update copyright years. 2024-01-03 12:19:35 +01:00
marshall.hh Update copyright years. 2024-01-03 12:19:35 +01:00
names.cc Update copyright years. 2024-01-03 12:19:35 +01:00
names.hh Update copyright years. 2024-01-03 12:19:35 +01:00
rpc.hh Update copyright years. 2024-01-03 12:19:35 +01:00
status.hh Update copyright years. 2024-01-03 12:19:35 +01:00