re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non...
authorJanus Weil <janus@gcc.gnu.org>
Sat, 15 May 2010 13:52:33 +0000 (15:52 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Sat, 15 May 2010 13:52:33 +0000 (15:52 +0200)
commitf8dde8af6f4bf8d16fcb12544caef0aad3da56f2
treea70032d51f8a223474b6f5114ee467e48b7758f9
parent46c3001944a778ddd079de47697c092bfd82419a
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* 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.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.

From-SVN: r159431
gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/symbol.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_18.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/class_19.f03 [new file with mode: 0644]