aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans.h
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-11-16 02:02:37 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-11-16 02:02:37 +0000
commit40b026d890b797f058047aeba398e22b0e8d7db6 (patch)
tree0b302faf5d83b8618c58bea7ea7eb3ca99221e10 /gcc/fortran/trans.h
parente61ec2dd124a3ef737fabc2686a862c76bdb91db (diff)
downloadgcc-40b026d890b797f058047aeba398e22b0e8d7db6.zip
gcc-40b026d890b797f058047aeba398e22b0e8d7db6.tar.gz
gcc-40b026d890b797f058047aeba398e22b0e8d7db6.tar.bz2
re PR fortran/13010 (seg fault on valid code)
PR fortran/13010 * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype. (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto. * trans-types.c (gfc_get_dtype): Accept array type rather than element type. (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE. (gfc_get_array_type_bounds): Ditto. (gfc_get_derived_type): Recurse into derived type pointers. * trans-types.h (gfc_get_dtype): Add prototype. * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment. testsuite/ * gfortran.dg/der_pointer_1.f90: New test. From-SVN: r90714
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r--gcc/fortran/trans.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 33d422a..f347724 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -553,6 +553,8 @@ struct lang_decl GTY(())
#define GFC_TYPE_ARRAY_RANK(node) (TYPE_LANG_SPECIFIC(node)->rank)
#define GFC_TYPE_ARRAY_SIZE(node) (TYPE_LANG_SPECIFIC(node)->size)
#define GFC_TYPE_ARRAY_OFFSET(node) (TYPE_LANG_SPECIFIC(node)->offset)
+/* Code should use gfc_get_dtype instead of accesig this directly. It may
+ not be known when the type is created. */
#define GFC_TYPE_ARRAY_DTYPE(node) (TYPE_LANG_SPECIFIC(node)->dtype)
#define GFC_TYPE_ARRAY_DATAPTR_TYPE(node) \
(TYPE_LANG_SPECIFIC(node)->dataptr_type)