https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121204

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Paul Thomas <[email protected]>:

https://gcc.gnu.org/g:053bde6ca9b490c6426740f8e3168054c4a43463

commit r17-1343-g053bde6ca9b490c6426740f8e3168054c4a43463
Author: Paul Thomas <[email protected]>
Date:   Thu Jun 4 11:55:50 2026 +0100

    Fortran: fix always_explicit not copied by gfc_copy_attr [PR121204]

    gfc_copy_attr omitted the always_explicit attribute, so when
    gfc_copy_dummy_sym created a fresh copy of a dummy procedure symbol in
    a submodule module procedure (gfc_match_submod_proc), the flag was
    silently lost.  At translation time nodesc_arg was set true for calls
    through that dummy procedure, causing array constructors to be passed
    as raw data pointers instead of array descriptors.  Callers with
    assumed-shape dummy arguments then read garbage bounds.

    2026-06-04  Paul Thomas  <[email protected]>

    gcc/fortran
            PR fortran/121204
            * symbol.cc (gfc_copy_attr): Copy the always_explicit attribute.

    gcc/testsuite
            PR fortran/121204
            * gfortran.dg/submodule_38.f90: New test.

    Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

Reply via email to