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.ja...@gmail.com> wrote: > On Thu, Oct 20, 2016 at 11:37 AM, Andre Vehreschild <ve...@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 <ve...@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 <ka...@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; }