diff options
author | Janus Weil <janus@gcc.gnu.org> | 2009-10-13 18:12:24 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2009-10-13 18:12:24 +0200 |
commit | f43085aaa3fef8263b4afc1c2b5f9721d9bdd8b2 (patch) | |
tree | 0ad66bf731ba1ac3e83d8ded18791c03cb46d62a /gcc/tree-eh.c | |
parent | b9e467a24acb203f5a087721a74943a3af67f16a (diff) | |
download | gcc-f43085aaa3fef8263b4afc1c2b5f9721d9bdd8b2.zip gcc-f43085aaa3fef8263b4afc1c2b5f9721d9bdd8b2.tar.gz gcc-f43085aaa3fef8263b4afc1c2b5f9721d9bdd8b2.tar.bz2 |
re PR fortran/41581 ([OOP] Allocation of a CLASS with SOURCE=<class> does not work)
2009-10-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/41581
* decl.c (encapsulate_class_symbol): Add new component '$size'.
* resolve.c (resolve_allocate_expr): Move CLASS handling to
gfc_trans_allocate.
(resolve_class_assign): Replaced by gfc_trans_class_assign.
(resolve_code): Remove calls to resolve_class_assign.
* trans.c (gfc_trans_code): Use new function gfc_trans_class_assign.
* trans-expr.c (get_proc_ptr_comp): Fix a memory leak.
(gfc_conv_procedure_call): For CLASS dummies, set the
$size component.
(gfc_trans_class_assign): New function, replacing resolve_class_assign.
* trans-stmt.h (gfc_trans_class_assign): New prototype.
* trans-stmt.c (gfc_trans_allocate): Use correct size when allocating
CLASS variables. Do proper initialization. Move some code here from
resolve_allocate_expr.
2009-10-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/41581
* gfortran.dg/class_allocate_2.f03: Modified.
* gfortran.dg/class_allocate_3.f03: New test case.
From-SVN: r152715
Diffstat (limited to 'gcc/tree-eh.c')
0 files changed, 0 insertions, 0 deletions