Fortran: ALLOCATE statement, SOURCE/MOLD expressions with subrefs [PR114024]
commit80d126ba99f4b9bc64d4861b3c4bae666497f2d4
authorSteve Kargl <kargl@gcc.gnu.org>
Fri, 23 Feb 2024 21:05:04 +0000 (23 22:05 +0100)
committerHarald Anlauf <anlauf@gmx.de>
Fri, 23 Feb 2024 21:34:54 +0000 (23 22:34 +0100)
treeb6b854c81600366f1af4c5f35260d9f85e8edcb2
parent85c12ae8b80902ed46c97f33dbb61533e07f2905
Fortran: ALLOCATE statement, SOURCE/MOLD expressions with subrefs [PR114024]

PR fortran/114024

gcc/fortran/ChangeLog:

* trans-stmt.cc (gfc_trans_allocate): When a source expression has
substring references, part-refs, or %re/%im inquiries, wrap the
entity in parentheses to force evaluation of the expression.

gcc/testsuite/ChangeLog:

* gfortran.dg/allocate_with_source_27.f90: New test.
* gfortran.dg/allocate_with_source_28.f90: New test.

Co-Authored-By: Harald Anlauf <anlauf@gmx.de>
gcc/fortran/trans-stmt.cc
gcc/testsuite/gfortran.dg/allocate_with_source_27.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/allocate_with_source_28.f90 [new file with mode: 0644]