]> git.ipfire.org Git - thirdparty/gcc.git/commit
2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 May 2019 10:21:06 +0000 (10:21 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 May 2019 10:21:06 +0000 (10:21 +0000)
commit396260630b60675a92bee5577333c4794565aee5
tree4754f35cf254dbe9e8beb62feabb7f9a587dd2fe
parenta4ba5c3ec624008e899a8bcb687359db25140c23
2019-05-19  Thomas Koenig  <tkoenig@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  <tkoenig@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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@271377 138bc75d-0d04-0410-961f-82ee72b054a4
30 files changed:
gcc/fortran/expr.c
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/fortran/trans.h
gcc/testsuite/gfortran.dg/alloc_comp_auto_array_3.f90
gcc/testsuite/gfortran.dg/assumed_type_2.f90
gcc/testsuite/gfortran.dg/assumed_type_2a.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_loc_test_22.f90
gcc/testsuite/gfortran.dg/contiguous_3.f90
gcc/testsuite/gfortran.dg/internal_pack_11.f90
gcc/testsuite/gfortran.dg/internal_pack_12.f90
gcc/testsuite/gfortran.dg/internal_pack_16.f90
gcc/testsuite/gfortran.dg/internal_pack_17.f90
gcc/testsuite/gfortran.dg/internal_pack_18.f90
gcc/testsuite/gfortran.dg/internal_pack_19.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_20.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_21.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_4.f90
gcc/testsuite/gfortran.dg/internal_pack_5.f90
gcc/testsuite/gfortran.dg/internal_pack_6.f90
gcc/testsuite/gfortran.dg/internal_pack_6a.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_9.f90
gcc/testsuite/gfortran.dg/missing_optional_dummy_6.f90
gcc/testsuite/gfortran.dg/missing_optional_dummy_6a.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/no_arg_check_2.f90
gcc/testsuite/gfortran.dg/no_arg_check_2a.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_assignment_5.f03
gcc/testsuite/gfortran.dg/typebound_assignment_5a.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_assignment_6.f03
gcc/testsuite/gfortran.dg/typebound_assignment_6a.f03 [new file with mode: 0644]