Re: [PATCH 0/7] fortran: array descriptor part 1: Move existing functions to a separate file [PR122521]

Paul Richard Thomas <[email protected]> Mon, 29 Jun 2026 18:02:19 +0100
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.fortran
Message-ID <CAGkQGiLRP=Ri_E3ebYj42tTZNrYTXqmPNOvdftGDv2zsdynimQ@mail.gmail.com>
Hello Mikael,

I am very glad to see this resubmission. Equally, I am happy with your
assurance that tis version is only trivially different from the
previous one.

From me, OK for mainline.

Thanks to you and TF for this work.

Paul

On Sun, 28 Jun 2026 at 17:32, Mikael Morin <[email protected]> wrote:
>
> From: Mikael Morin <[email protected]>
>
> This is an update of the series posted just before the end of stage 1 in
> october:
> https://gcc.gnu.org/pipermail/fortran/2025-October/063053.html
> https://gcc.gnu.org/pipermail/gcc-patches/2025-October/699114.html
>
> I have added references to the PR opened to track the full patch series,
> rebased on current master, and made a couple of whitespace or ChangeLog
> fixes.  The patches are otherwise unchanged.
>
> The originally posted patches have been approved last year already; I plan
> to push this series next week under that approval.
>
> --
>
> This starts a series of patches (funded by STF) to refactor initialisation
> and updates of array descriptors.
>
> The current API touching array descriptors is mostly limited to a set of
> getters to pick the value of individual array descriptor fields, and setters
> to update them.  This requires every area of the compiler touching array
> descriptors to have knowledge of their contents.
>
> The final goal of the patches is to remove (most of) the setters from the
> public API, and replace them with more high level functions providing
> complete array descriptor updates (say copy descriptor, or shift array
> bounds) without leaking the detail of the fields that have their values
> changed under the hood.
>
> This first series moves the existing array descriptor functions to a
> separate file.
>
> Mikael Morin (7):
>   fortran: array descriptor: Move accessor functions to a separate file
>     [PR122521]
>   fortran: array descriptor: Move debug info generation function
>     [PR122521]
>   fortran: array descriptor: Move null factory function [PR122521]
>   fortran: array descriptor: Move size and cosize functions [PR122521]
>   fortran: array descriptor: Move bound shift utility function
>     [PR122521]
>   fortran: array descriptor: Move descriptor copy function [PR122521]
>   fortran: array descriptor: Move array growth function [PR122521]
>
>  gcc/fortran/Make-lang.in        |   7 +-
>  gcc/fortran/trans-array.cc      | 504 +--------------------------
>  gcc/fortran/trans-array.h       |  33 --
>  gcc/fortran/trans-decl.cc       |   1 +
>  gcc/fortran/trans-descriptor.cc | 580 ++++++++++++++++++++++++++++++++
>  gcc/fortran/trans-descriptor.h  |  67 ++++
>  gcc/fortran/trans-expr.cc       |   1 +
>  gcc/fortran/trans-intrinsic.cc  |   1 +
>  gcc/fortran/trans-io.cc         |   1 +
>  gcc/fortran/trans-openmp.cc     |   1 +
>  gcc/fortran/trans-stmt.cc       |  47 +--
>  gcc/fortran/trans-types.cc      |   1 +
>  gcc/fortran/trans.cc            |   1 +
>  13 files changed, 662 insertions(+), 583 deletions(-)
>  create mode 100644 gcc/fortran/trans-descriptor.cc
>  create mode 100644 gcc/fortran/trans-descriptor.h
>
> --
> 2.53.0
>