From: Jakub Jelinek Date: Mon, 10 Dec 2007 13:05:15 +0000 (+0100) Subject: dwarf2out.c (gen_array_type_die, [...]): For Fortran multi-dimensional arrays use... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=502630f495cd78b97fd3788e049640210bce8ddb;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d6a077ff7d..d9dbd4910fc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-12-10 Jakub Jelinek + + * 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 PR target/32086 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index d818f0d9989..785d0fa9691 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);