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

Reply via email to