This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran, OOP] PR 43207: ICE for class pointer => null() initialization
- From: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- To: Janus Weil <janus at gcc dot gnu dot org>
- Cc: gfortran <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 15 May 2010 12:54:49 +0200
- Subject: Re: [Patch, Fortran, OOP] PR 43207: ICE for class pointer => null() initialization
- References: <AANLkTikAYwZs29RVlKh3HTuujH_Jd0I5r8JLUiiwlchq@mail.gmail.com>
Dear Janus,
> The test case is a modified version of comment #3. The patch was
> regtested on x86_64-unknown-linux-gnu. Ok for trunk?
Yes, this is OK for trunk, up to one discussion point that could be
dealt with later.
You have put the new function in expr.c and we have large chunks that
make the vtabs and the class representation in symbol.c. I wonder if
the time has not come to insert a new file class.c? This might
usefully include much of Daniel's stuff on typebound procedures and so
on.
Cheers
Paul
> Cheers,
> Janus
>
>
> 2010-05-14 ?Janus Weil ?<janus@gcc.gnu.org>
>
> ? ? ? ?PR fortran/43207
> ? ? ? ?* gfortran.h (gfc_class_null_initializer): New prototype.
> ? ? ? ?* expr.c (gfc_class_null_initializer): New function to build a NULL
> ? ? ? ?initializer for CLASS pointers.
> ? ? ? ?* symbol.c (gfc_build_class_symbol): Modify internal naming of class
> ? ? ? ?containers. Remove default NULL initialization of $data component.
> ? ? ? ?* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
> ? ? ? ?Use new function 'gfc_class_null_initializer'.
>
> 2010-05-14 ?Janus Weil ?<janus@gcc.gnu.org>
>
> ? ? ? ?PR fortran/43207
> ? ? ? ?* gfortran.dg/class_19.f03: New.
>
--
The knack of flying is learning how to throw yourself at the ground and miss.
--Hitchhikers Guide to the Galaxy