[Patch, fortran] PR51976 - [F2003] Support deferred-length character components of derived types (allocatable string length)
Tobias Burnus
burnus@net-b.de
Wed Feb 19 22:23:00 GMT 2014
Hi Paul,
Paul Richard Thomas wrote:
> I had completely forgotten about this patch... I even thought that it
> had been applied :-) I'll have time, either tomorrow evening or Saturday to take a look.
> After nearly 11 months, a couple more days will not hurt!
I think it went as follows: We found out that some code doesn't - in
particular code which uses array-valued deferred-length characters.
After trying to fix it, you (Paul) decided that the simplest way to fix
it would be the new array descriptor - and then it got stuck.
Regarding this patch, I have mixed feelings. I think it is a much wished
feature - but I am not sure about the stability of the patch and it is
rather large, given that we are in stage 4.
Regarding the new array descriptor: I think it would be useful if we
could get the new descriptor working early in the GCC 4.10/5.0/2015
development stage. I think the main large task is to convert all all
remaining stride-based code to stride-multiplier code without breaking
vectorization and causing other regressions. Additionally, it would be
nice to get rid of "offset" - and have in the descriptor always an
lower_bound of 0, except for pointers/allocatables (cf. TS29113). I
think the version on the branch is in a relatively good shape; however,
the stride and offset changes seem to be of such a kind that one needs
to modify several code locations simultaneously - otherwise, it will
break badly. Additionally, all remaining regressions have to be fixed.
When that's done, adding some extra field is all what's needed. (As
follow up, enough remains to be done: I'd like to use it for all
class(*), possibly even for nonarray class(type), assumed-rank needs an
update, assumed-shape/-rank/deferred-shape character arrays also have to
be adapted (also mandated by TS29113 for interop). And we should do an
ABI cleanup in libgfortran as we have now the chance to break the ABI.)
- Is anyone volunteering?
Also planned for GCC post-4.9: Getting an initial really working coarray
version.
(Besides more mundane tasks like finishing finalization, completing OOP
or ...)
Tobias
More information about the Gcc-patches
mailing list