From 88364f77fb60f84324bfaaa5d1dca2d01c3ee391 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 8 Oct 2021 15:02:31 -0700 Subject: [PATCH] Fortran: Avoid var initialization in interfaces [PR54753] MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Intent(out) implies deallocation/default initialization; however, it is pointless to do this for dummy-arguments symbols of procedures which are inside an INTERFACE block. – This also fixes a bogus error for the attached included testcase, but fixing the non-interface version still has to be done. PR fortran/54753 gcc/fortran/ChangeLog: * resolve.c (can_generate_init, resolve_fl_variable_derived, resolve_symbol): Only do initialization with intent(out) if not inside of an interface block. (cherry picked from commit 51d9ef7747b2dc439f7456303f0784faf5cdb1d3) --- gcc/fortran/ChangeLog.omp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp index 3e65e177e755..0fcac5b41767 100644 --- a/gcc/fortran/ChangeLog.omp +++ b/gcc/fortran/ChangeLog.omp @@ -1,3 +1,13 @@ +2021-10-08 Sandra Loosemore + + PR fortran/54753 + * resolve.c (can_generate_init, resolve_fl_variable_derived, + resolve_symbol): Only do initialization with intent(out) if not + inside of an interface block. + 2021-10-01 Tobias Burnus Backported from master: -- 2.47.2