]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran: default-initialization and functions returning derived type [PR85750]
authorHarald Anlauf <anlauf@gmx.de>
Thu, 15 May 2025 19:07:07 +0000 (21:07 +0200)
committerHarald Anlauf <anlauf@gmx.de>
Thu, 15 May 2025 19:36:26 +0000 (21:36 +0200)
commitd31ab498b12ebbe4f50acb2aa240ff92c73f310c
tree717fdaf7c5daf1f263e859e43c77e14026c9eec5
parente87c5efabc3002acc41859fb81e698af8fa8412a
Fortran: default-initialization and functions returning derived type [PR85750]

Functions with non-pointer, non-allocatable result and of derived type did
not always get initialized although the type had default-initialization,
and a derived type component had the allocatable or pointer attribute.
Rearrange the logic when to apply default-initialization.

PR fortran/85750

gcc/fortran/ChangeLog:

* resolve.cc (resolve_symbol): Reorder conditions when to apply
default-initializers.

gcc/testsuite/ChangeLog:

* gfortran.dg/alloc_comp_auto_array_3.f90: Adjust scan counts.
* gfortran.dg/alloc_comp_class_3.f03: Remove bogus warnings.
* gfortran.dg/alloc_comp_class_4.f03: Likewise.
* gfortran.dg/allocate_with_source_14.f03: Adjust scan count.
* gfortran.dg/derived_constructor_comps_6.f90: Likewise.
* gfortran.dg/derived_result_5.f90: New test.
gcc/fortran/resolve.cc
gcc/testsuite/gfortran.dg/alloc_comp_auto_array_3.f90
gcc/testsuite/gfortran.dg/alloc_comp_class_3.f03
gcc/testsuite/gfortran.dg/alloc_comp_class_4.f03
gcc/testsuite/gfortran.dg/allocate_with_source_14.f03
gcc/testsuite/gfortran.dg/derived_constructor_comps_6.f90
gcc/testsuite/gfortran.dg/derived_result_5.f90 [new file with mode: 0644]