Re: [Patch][Fortran] Resolve formal args before checking DTIO (was: Re: [PATCH] deferred-shape vs assumed-shape)

2020-04-02 Thread Steve Kargl via Gcc-patches
This one is a little bit wierd for me. It seems AS_DEFERRED is overloaded and things get fixed up later. In array.c one finds match_array_element_spec(), which set AS_DEFERRED if the matchers sees (:) regardless of how the array is used. Then in gfc_set_array_spec(), the array spec is attached to

[Patch][Fortran] Resolve formal args before checking DTIO (was: Re: [PATCH] deferred-shape vs assumed-shape)

2020-04-02 Thread Tobias Burnus
Hi Steve, I think your patch is fine - however, I think calling the normal resolve_formal_arglist looks a bit cleaner to me (as done in the attached patch). — Additionally, I added the testcase. Side effect of my variant is that gfc_check_dtio_interfaces will be called again a bit later again. —

[PATCH] deferred-shape vs assumed-shape

2020-04-01 Thread Steve Kargl via Gcc-patches
See https://stackoverflow.com/questions/60972134/whats-wrong-with-the-following-fortran-code-gfortran-dtio-dummy-argument-at Is A(:) a deferred-shape array or an assumed-shape array? The answer of course depends on context. This patch fixes the issue found at the above URL. Index: gcc/fortran/