]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran: validate shape of arrays in constructors against declarations
authorHarald Anlauf <anlauf@gmx.de>
Fri, 15 Oct 2021 19:23:17 +0000 (21:23 +0200)
committerHarald Anlauf <anlauf@gmx.de>
Sat, 13 Nov 2021 20:00:04 +0000 (21:00 +0100)
commite2c1283a5c9505257df3cf7a4b42758ef52ea674
tree07c665c6802ffd4327d82e14ea38defbced763f3
parent5625599e6f23622447418e6cbfcc080ecd0f2c28
Fortran: validate shape of arrays in constructors against declarations

gcc/fortran/ChangeLog:

PR fortran/102685
* decl.c (match_clist_expr): Set rank/shape of clist initializer
to match LHS.
* resolve.c (resolve_structure_cons): In a structure constructor,
compare shapes of array components against declared shape.

gcc/testsuite/ChangeLog:

PR fortran/102685
* gfortran.dg/derived_constructor_char_1.f90: Fix invalid code.
* gfortran.dg/pr70931.f90: Likewise.
* gfortran.dg/transfer_simplify_2.f90: Likewise.
* gfortran.dg/pr102685.f90: New test.

Co-authored-by: Tobias Burnus <tobias@codesourcery.com>
(cherry picked from commit 1e819bd95ebeefc1dc469daa1855ce005cb77822)
gcc/fortran/decl.c
gcc/fortran/resolve.c
gcc/testsuite/gfortran.dg/derived_constructor_char_1.f90
gcc/testsuite/gfortran.dg/pr102685.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr70931.f90
gcc/testsuite/gfortran.dg/transfer_simplify_2.f90