https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58586
--- Comment #8 from vehre at gcc dot gnu.org --- Author: vehre Date: Mon Jul 6 10:26:12 2015 New Revision: 225447 URL: https://gcc.gnu.org/viewcvs?rev=225447&root=gcc&view=rev Log: gcc/testsuite/ChangeLog: 2015-07-06 Andre Vehreschild <ve...@gmx.de> PR fortran/58586 * gfortran.dg/alloc_comp_class_3.f03: New test. * gfortran.dg/alloc_comp_class_4.f03: New test. gcc/fortran/ChangeLog: 2015-07-06 Andre Vehreschild <ve...@gmx.de> PR fortran/58586 * resolve.c (resolve_symbol): Non-private functions in modules with allocatable or pointer components are marked referenced now. Furthermore is the default init especially for those components now done in gfc_conf_procedure_call preventing duplicate code. * trans-decl.c (gfc_generate_function_code): Generate a fake result decl for functions returning an object with allocatable components and initialize them. * trans-expr.c (gfc_conv_procedure_call): For value typed trees use the tree without indirect ref. And for non-decl trees add a temporary variable to prevent evaluating the tree multiple times (prevent multiple function evaluations). * trans.h: Made gfc_trans_structure_assign () protoype available, which is now needed by trans-decl.c:gfc_generate_ function_code(), too. Added: trunk/gcc/testsuite/gfortran.dg/alloc_comp_class_3.f03 trunk/gcc/testsuite/gfortran.dg/alloc_comp_class_4.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/fortran/trans-decl.c trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans.h