aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans.h
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2009-06-05 06:09:43 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2009-06-05 06:09:43 +0000
commitd560566ab0860d1111cde7f89362a88649bc7ed1 (patch)
treec2fae2b03526763b221c2aace7b4c09f7e54f0ed /gcc/fortran/trans.h
parentfaef1e6d29245f7ab50c45d52a127e29aac6f208 (diff)
downloadgcc-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.h3
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)