c++: remove function_p parm from tsubst_copy_and_build

The function_p parameter of tsubst_copy_and_build (added in r69316) is
inspected only in its IDENTIFIER_NODE case, where it controls whether we
diagnose unqualified name lookup failure for the given identifier.  But
I think ever since r173965, we never substitute an IDENTIFIER_NODE with
function_p=true for which the lookup can possibly fail, and therefore
the flag is effectively unneeded.

Before that commit, we would incorrectly repeat unqualified lookup for
an ADL-enabled CALL_EXPR at instantiation time, which naturally could
fail and thus motivated the flag.  Afterwards, we no longer substitute
an IDENTIFIER_NODE callee when koenig_p is true, so the flag isn't needed
for its original purpose.  What about when koenig_p=false?  Apparently
we still may have an IDENTIFIER_NODE callee in this case, namely when
unqualified name lookup found a dependent local function declaration,
but repeating that lookup can't fail (ditto for USING_DECL callees).

So this patch removes this effectively unneeded parameter from
tsubst_copy_and_build.  It also updates an outdated comment in the
CALL_EXPR case about when we may see an IDENTIFIER_NODE callee with
koenig_p=false.

gcc/cp/ChangeLog:

	* cp-lang.cc (objcp_tsubst_copy_and_build): Remove
	function_p parameter.
	* cp-objcp-common.h (objcp_tsubst_copy_and_build):
	Likewise.
	* cp-tree.h (tsubst_copy_and_build): Likewise.
	* init.cc (get_nsdmi): Adjust calls to tsubst_copy_and_build.
	* pt.cc (expand_integer_pack): Likewise.
	(instantiate_non_dependent_expr_internal): Likewise.
	(tsubst_function_decl): Likewise.
	(tsubst_arg_types): Likewise.
	(tsubst_exception_specification): Likewise.
	(tsubst): Likewise.
	(tsubst_copy_asm_operands): Likewise.
	(tsubst_expr): Likewise.
	(tsubst_non_call_postfix_expression): Likewise.
	(tsubst_lambda_expr): Likewise.
	(tsubst_copy_and_build_call_args): Likewise.
	(tsubst_copy_and_build): Remove function_p parameter
	and adjust function comment.  Adjust recursive calls.
	<case CALL_EXPR>: Update outdated comment about when
	we can see an IDENTIFIER_NODE callee with koenig_p=false.
	(maybe_instantiate_noexcept): Adjust calls to
	tsubst_copy_and_build.

gcc/objcp/ChangeLog:

	* objcp-lang.cc (objcp_tsubst_copy_and_build): Remove
	function_p parameter.
6 files changed