https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88821
--- Comment #6 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Author: tkoenig Date: Sun May 19 10:21:06 2019 New Revision: 271377 URL: https://gcc.gnu.org/viewcvs?rev=271377&root=gcc&view=rev Log: 2019-05-19 Thomas Koenig <tkoe...@gcc.gnu.org> PR fortran/88821 * expr.c (gfc_is_simply_contiguous): Return true for an EXPR_ARRAY. * trans-array.c (is_pointer): New function. (gfc_conv_array_parameter): Call gfc_conv_subref_array_arg when not optimizing and not optimizing for size if the formal arg is passed by reference. * trans-expr.c (gfc_conv_subref_array_arg): Add arguments fsym, proc_name and sym. Add run-time warning for temporary array creation. Wrap argument if passing on an optional argument to an optional argument. * trans.h (gfc_conv_subref_array_arg): Add optional arguments fsym, proc_name and sym to prototype. 2019-05-19 Thomas Koenig <tkoe...@gcc.gnu.org> PR fortran/88821 * gfortran.dg/alloc_comp_auto_array_3.f90: Add -O0 to dg-options to make sure the test for internal_pack is retained. * gfortran.dg/assumed_type_2.f90: Split compile and run time tests into this and * gfortran.dg/assumed_type_2a.f90: New file. * gfortran.dg/c_loc_test_22.f90: Likewise. * gfortran.dg/contiguous_3.f90: Likewise. * gfortran.dg/internal_pack_11.f90: Likewise. * gfortran.dg/internal_pack_12.f90: Likewise. * gfortran.dg/internal_pack_16.f90: Likewise. * gfortran.dg/internal_pack_17.f90: Likewise. * gfortran.dg/internal_pack_18.f90: Likewise. * gfortran.dg/internal_pack_4.f90: Likewise. * gfortran.dg/internal_pack_5.f90: Add -O0 to dg-options to make sure the test for internal_pack is retained. * gfortran.dg/internal_pack_6.f90: Split compile and run time tests into this and * gfortran.dg/internal_pack_6a.f90: New file. * gfortran.dg/internal_pack_8.f90: Likewise. * gfortran.dg/missing_optional_dummy_6: Split compile and run time tests into this and * gfortran.dg/missing_optional_dummy_6a.f90: New file. * gfortran.dg/no_arg_check_2.f90: Split compile and run time tests into this and * gfortran.dg/no_arg_check_2a.f90: New file. * gfortran.dg/typebound_assignment_5.f90: Split compile and run time tests into this and * gfortran.dg/typebound_assignment_5a.f90: New file. * gfortran.dg/typebound_assignment_6.f90: Split compile and run time tests into this and * gfortran.dg/typebound_assignment_6a.f90: New file. * gfortran.dg/internal_pack_19.f90: New file. * gfortran.dg/internal_pack_20.f90: New file. * gfortran.dg/internal_pack_21.f90: New file. Added: trunk/gcc/testsuite/gfortran.dg/assumed_type_2a.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_19.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_20.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_21.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_6a.f90 trunk/gcc/testsuite/gfortran.dg/missing_optional_dummy_6a.f90 trunk/gcc/testsuite/gfortran.dg/no_arg_check_2a.f90 trunk/gcc/testsuite/gfortran.dg/typebound_assignment_5a.f03 trunk/gcc/testsuite/gfortran.dg/typebound_assignment_6a.f03 Modified: trunk/gcc/fortran/expr.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans.h trunk/gcc/testsuite/gfortran.dg/alloc_comp_auto_array_3.f90 trunk/gcc/testsuite/gfortran.dg/assumed_type_2.f90 trunk/gcc/testsuite/gfortran.dg/c_loc_test_22.f90 trunk/gcc/testsuite/gfortran.dg/contiguous_3.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_11.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_12.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_16.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_17.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_18.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_4.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_5.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_6.f90 trunk/gcc/testsuite/gfortran.dg/internal_pack_9.f90 trunk/gcc/testsuite/gfortran.dg/missing_optional_dummy_6.f90 trunk/gcc/testsuite/gfortran.dg/no_arg_check_2.f90 trunk/gcc/testsuite/gfortran.dg/typebound_assignment_5.f03 trunk/gcc/testsuite/gfortran.dg/typebound_assignment_6.f03