diff options
author | Janus Weil <janus@gcc.gnu.org> | 2010-05-30 23:56:11 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2010-05-30 23:56:11 +0200 |
commit | 7a08eda1619ac02b31ff4bcf8582a94237424132 (patch) | |
tree | bd664a3b4e0b3ba3499bd2892841cf41c6b4a076 /gcc/fortran/parse.c | |
parent | 66a3e33967b012b5ec524c0c57618fe7408ce440 (diff) | |
download | gcc-7a08eda1619ac02b31ff4bcf8582a94237424132.zip gcc-7a08eda1619ac02b31ff4bcf8582a94237424132.tar.gz gcc-7a08eda1619ac02b31ff4bcf8582a94237424132.tar.bz2 |
gfortran.h (CLASS_DATA): New macro for accessing the $data component of a class container.
2010-05-30 Janus Weil <janus@gcc.gnu.org>
* gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
$data component of a class container.
* gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
* gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
* gcc/fortran/interface.c (matching_typebound_op): Ditto.
* gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
* gcc/fortran/parse.c (parse_derived): Ditto.
* gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
gfc_expr_attr): Ditto.
* gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
resolve_fl_var_and_proc, resolve_typebound_procedure,
resolve_fl_derived): Ditto.
* gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
* gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
CLASS_DATA.
* gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
gfc_trans_deferred_vars): Ditto.
* gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
From-SVN: r160060
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index dfc5893..31ad7cf 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -2082,15 +2082,13 @@ endType: { /* Look for allocatable components. */ if (c->attr.allocatable - || (c->ts.type == BT_CLASS - && c->ts.u.derived->components->attr.allocatable) + || (c->ts.type == BT_CLASS && CLASS_DATA (c)->attr.allocatable) || (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.alloc_comp)) sym->attr.alloc_comp = 1; /* Look for pointer components. */ if (c->attr.pointer - || (c->ts.type == BT_CLASS - && c->ts.u.derived->components->attr.pointer) + || (c->ts.type == BT_CLASS && CLASS_DATA (c)->attr.pointer) || (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.pointer_comp)) sym->attr.pointer_comp = 1; |