This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, Fortran] Preparatory patch to change charlen's kind type
- From: Andre Vehreschild <vehre at gmx dot de>
- To: Janne Blomqvist <blomqvist dot janne at gmail dot com>
- Cc: GCC-Patches-ML <gcc-patches at gcc dot gnu dot org>, GCC-Fortran-ML <fortran at gcc dot gnu dot org>
- Date: Thu, 20 Oct 2016 12:51:01 +0200
- Subject: Re: [Patch, Fortran] Preparatory patch to change charlen's kind type
- Authentication-results: sourceware.org; auth=none
- References: <20161020103735.39f3d520@vepi2> <CAO9iq9Etu1brhDNwjogHn64u3HXgK2TpOrOdHmmQfWQ_AVM3iQ@mail.gmail.com>
Hi Janne,
thanks for the fast review.
> Ok, thanks for catching this!
Well, I am quite sure, that I wrote this crab initially.
Committed as r241367.
Regards,
Andre
On Thu, 20 Oct 2016 12:57:38 +0300
Janne Blomqvist <blomqvist.janne@gmail.com> wrote:
> On Thu, Oct 20, 2016 at 11:37 AM, Andre Vehreschild <vehre@gmx.de> wrote:
> > Hi all,
> >
> > during hacking in gfortran I found, that for unlimited polymorphic types the
> > size type of a char array stored is hard coded to be 4. This small patch
> > resolves this by using the better suited constant: gfc_charlen_int_kind.
> > This will make the move to larger strings easier.
> >
> > Bootstrapped and regtested on x86_64-linux/F23. Ok for trunk?
> >
> > Regards,
> > Andre
> >
> > diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
> > index 6d324a6..e110f2c 100644
> > --- a/gcc/fortran/class.c
> > +++ b/gcc/fortran/class.c
> > @@ -707,7 +707,7 @@ gfc_build_class_symbol (gfc_typespec *ts,
> > symbol_attribute *attr, if (!gfc_add_component (fclass, "_len", &c))
> > return false;
> > c->ts.type = BT_INTEGER;
> > - c->ts.kind = 4;
> > + c->ts.kind = gfc_charlen_int_kind;
> > c->attr.access = ACCESS_PRIVATE;
> > c->attr.artificial = 1;
> > }
> >
> > --
> > Andre Vehreschild * Email: vehre ad gmx dot de
>
> Ok, thanks for catching this!
>
>
--
Andre Vehreschild * Email: vehre ad gmx dot de
Index: gcc/fortran/ChangeLog
===================================================================
--- gcc/fortran/ChangeLog (Revision 241365)
+++ gcc/fortran/ChangeLog (Arbeitskopie)
@@ -1,3 +1,8 @@
+2016-10-20 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * class.c (gfc_build_class_symbol): Set the kind of _len to
+ gfc_charlen_int_kind to catch changes of the charlen kind.
+
2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77978
Index: gcc/fortran/class.c
===================================================================
--- gcc/fortran/class.c (Revision 241365)
+++ gcc/fortran/class.c (Arbeitskopie)
@@ -707,7 +707,7 @@
if (!gfc_add_component (fclass, "_len", &c))
return false;
c->ts.type = BT_INTEGER;
- c->ts.kind = 4;
+ c->ts.kind = gfc_charlen_int_kind;
c->attr.access = ACCESS_PRIVATE;
c->attr.artificial = 1;
}