diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2009-06-05 06:09:43 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2009-06-05 06:09:43 +0000 |
commit | d560566ab0860d1111cde7f89362a88649bc7ed1 (patch) | |
tree | c2fae2b03526763b221c2aace7b4c09f7e54f0ed /gcc/fortran/trans.h | |
parent | faef1e6d29245f7ab50c45d52a127e29aac6f208 (diff) | |
download | gcc-d560566ab0860d1111cde7f89362a88649bc7ed1.zip gcc-d560566ab0860d1111cde7f89362a88649bc7ed1.tar.gz gcc-d560566ab0860d1111cde7f89362a88649bc7ed1.tar.bz2 |
trans-decl.c (gfc_build_qualified_array): Don't skip generation of range types.
* trans-decl.c (gfc_build_qualified_array): Don't skip generation
of range types.
* trans.h (struct lang_type): Add base_decls.
(GFC_TYPE_ARRAY_BASE_DECL): New.
* trans-types.c (gfc_get_array_type_bounds): Initialize base decls
proactively and excessively.
(gfc_get_array_descr_info): Use existing base decls if available.
From-SVN: r148197
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r-- | gcc/fortran/trans.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index 90689698..5152b95 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -624,6 +624,7 @@ struct GTY(()) lang_type { tree dtype; tree dataptr_type; tree span; + tree base_decl[2]; }; struct GTY(()) lang_decl { @@ -676,6 +677,8 @@ struct GTY(()) lang_decl { #define GFC_TYPE_ARRAY_DATAPTR_TYPE(node) \ (TYPE_LANG_SPECIFIC(node)->dataptr_type) #define GFC_TYPE_ARRAY_SPAN(node) (TYPE_LANG_SPECIFIC(node)->span) +#define GFC_TYPE_ARRAY_BASE_DECL(node, internal) \ + (TYPE_LANG_SPECIFIC(node)->base_decl[(internal)]) /* Build an expression with void type. */ #define build1_v(code, arg) fold_build1(code, void_type_node, arg) |