This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, fortran] PR51976 - [F2003] Support deferred-length character components of derived types (allocatable string length)
- From: Janus Weil <janus at gcc dot gnu dot org>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>, "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 19 Feb 2014 16:16:05 +0100
- Subject: Re: [Patch, fortran] PR51976 - [F2003] Support deferred-length character components of derived types (allocatable string length)
- Authentication-results: sourceware.org; auth=none
- References: <CAGkQGiLC5jgtEb18P0F1GTmJsvU=u0eEF4OpUkVM320a64bpGQ at mail dot gmail dot com> <5148D5DF dot 9000508 at net-b dot de>
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.