c++/modules: Merge PARM_DECL properties from function definitions [PR121238]

When we merge a function definition, if there already exists a forward
declaration in the importing TU we use the PARM_DECLs belonging to that
decl.  This usually works fine, except as noted in the linked PR there
are some flags (such as TREE_ADDRESSABLE) that only get set on a
PARM_DECL once a definition is provided.

This patch fixes the wrong-code issues by propagating any properties on
PARM_DECLs I could find that may affect codegen.

	PR c++/121238

gcc/cp/ChangeLog:

	* module.cc (trees_in::fn_parms_fini): Merge properties for
	definitions.

gcc/testsuite/ChangeLog:

	* g++.dg/modules/merge-19.h: New test.
	* g++.dg/modules/merge-19_a.H: New test.
	* g++.dg/modules/merge-19_b.C: New test.

Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Reviewed-by: Jason Merrill <jason@redhat.com>
Reviewed-by: Patrick Palka <ppalka@redhat.com>
(cherry picked from commit 70136bdc76ae1774162ccbeeedd33aa531950e68)
4 files changed