Fortran: do not evaluate polymorphic functions twice in assignment [PR114012]

	PR fortran/114012

gcc/fortran/ChangeLog:

	* trans-expr.cc (gfc_conv_procedure_call): Evaluate non-trivial
	arguments just once before assigning to an unlimited polymorphic
	dummy variable.

gcc/testsuite/ChangeLog:

	* gfortran.dg/pr114012.f90: New test.

(cherry picked from commit 2f71e801ad0bb1f620334aadbd7c99cc4efe6309)
2 files changed