[Patch, fortran] PR51976 - [F2003] Support deferred-length character components of derived types (allocatable string length)

Janus Weil janus@gcc.gnu.org
Wed Feb 19 15:16:00 GMT 2014


Hi all,

the patch below has been posted a long time ago, but was never
actually committed (although it seems close to being finished).

Could it still be considered for trunk? I think it is a rather popular
feature, which would be helpful for many users ...

Cheers,
Janus



2013-03-19 22:17 GMT+01:00 Tobias Burnus <burnus@net-b.de>:
> Dear Paul, dear all,
>
>
> On February 24, 2013 Paul Richard Thomas wrote:
>>
>> The attached patch represents progress to date.  It fixes the original
>> problem in this PR and allows John Reid's version of
>> iso_varying_string/vocabulary_word_count.f90 to compile and run
>> correctly.  It even bootstraps and regtests!
>
>
> Attached is a re-diffed patch; I have additionally fixed some indenting
> issues.
>
> Additionally, I have tested the patch - and it fails with deferred-length
> *array* character components. See attached test case. Also, the following
> line of the included test case leaks memory:
>     allocate (array(2), source = [t("abcedefg","hi"), t("jkl","mnop")])
>
> I think at least the array bug should be fixed prior committal. (Fixing the
> memory leak and some of the below-mentioned issues would be nice, too.)
> Otherwise, I think the patch looks fine. For completeness, I have some
> naming remarks, which I would also like to considered:
> http://thread.gmane.org/gmane.comp.gcc.fortran/40393/focus=281580
>
> Tobias
>
>
>> However, it doe not fix:
>> PR51976 comment #6 and PR51550 - allocate with typespec ICEs
>> PR51976 comment #6 FORALL assignment is messed up and ICEs..
>> PR47545 the compiler complains about the lack of an initializer for
>> the hidden character length field.
>> PR45170 will need going through from one end to the other - there is a
>> lot of "stuff" here!
>>
>> Of these, I consider the fix of the PR47545 problem to be a must and
>> the allocate with typespec desirable.



More information about the Gcc-patches mailing list