aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-10 14:05:15 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-12-10 14:05:15 +0100
commit502630f495cd78b97fd3788e049640210bce8ddb (patch)
tree05dc3b1795274ccf3c3f26f0c70fa79e6500232a /gcc
parent7dc4605144fe5d8dbf6ad7d2610b6300287bd86a (diff)
downloadgcc-502630f495cd78b97fd3788e049640210bce8ddb.zip
gcc-502630f495cd78b97fd3788e049640210bce8ddb.tar.gz
gcc-502630f495cd78b97fd3788e049640210bce8ddb.tar.bz2
dwarf2out.c (gen_array_type_die, [...]): For Fortran multi-dimensional arrays use DW_AT_ordering DW_ORD_col_major.
* dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For Fortran multi-dimensional arrays use DW_AT_ordering DW_ORD_col_major. From-SVN: r130742
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9d6a077..d9dbd49 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
+ Fortran multi-dimensional arrays use DW_AT_ordering
+ DW_ORD_col_major.
+
2007-12-10 Paolo Bonzini <bonzini@gnu.org>
PR target/32086
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index d818f0d..785d0fa 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -11636,6 +11636,12 @@ gen_array_type_die (tree type, dw_die_ref context_die)
add_AT_flag (array_die, DW_AT_GNU_vector, 1);
}
+ /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */
+ if (is_fortran ()
+ && TREE_CODE (type) == ARRAY_TYPE
+ && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE)
+ add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_col_major);
+
#if 0
/* We default the array ordering. SDB will probably do
the right things even if DW_AT_ordering is not present. It's not even
@@ -11787,6 +11793,11 @@ gen_descr_array_type_die (tree type, struct array_descr_info *info,
add_name_attribute (array_die, type_tag (type));
equate_type_number_to_die (type, array_die);
+ /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */
+ if (is_fortran ()
+ && info->ndimensions >= 2)
+ add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_col_major);
+
if (info->data_location)
add_descr_info_field (array_die, DW_AT_data_location, info->data_location,
info->base_decl);