[Patch, fortran] OOP bugs - PRs 41587, 41608, 41618 and 41629
Paul Richard Thomas
paul.richard.thomas@gmail.com
Sat Oct 17 11:33:00 GMT 2009
This patch applies various attribute checks to class objects, which
either were not previously applied or at the wrong time relative to
encapsulation. It also fixes a bug in gfc_build_block_ns.
Bootstrapped and regtested on FC9/x86_64 - OK for trunk?
Paul
2009-10-17 Janus Weil <janus@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/41608
* decl.c (gfc_match_data_decl): Add BT_CLASS for undefined type
and empty type errors.
* parse.c (gfc_build_block_ns): Only set recursive if parent ns
has a proc_name.
PR fortran/41629
PR fortran/41618
PR fortran/41587
* gfortran.h : Add class_ok bitfield to symbol_attr.
* decl.c (build_sym): Set attr.class_ok if dummy, pointer or
allocatable.
(build_struct): Use gfc_try 't' to carry errors past the call
to encapsulate_class_symbol.
(attr_decl1): For a CLASS object, apply the new attribute to
the data component.
* match.c (gfc_match_select_type): Set attr.class_ok for an
assigned selector.
* resolve.c (resolve_fl_variable_derived): Check a CLASS object
is dummy, pointer or allocatable by testing the class_ok and
the use_assoc attribute.
2009-10-17 Janus Weil <janus@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/41629
* gfortran.dg/class_6.f90: New test.
PR fortran/41608
PR fortran/41587
* gfortran.dg/class_7.f90: New test.
PR fortran/41618
* gfortran.dg/class_8.f90: New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit1710.diff
Type: text/x-diff
Size: 9996 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20091017/db06ce67/attachment.bin>
More information about the Gcc-patches
mailing list