diff options
author | pmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-17 16:25:21 +0000 |
---|---|---|
committer | pmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-17 16:25:21 +0000 |
commit | 7b36a3d439e2b838ed8bd30cdae52ca54a0f64e1 (patch) | |
tree | 8a6807260b675ee552ea6bd67e5074f9aaecba7a /gcc/dwarf2out.h | |
parent | 78d92cede18834d10d528fefc48917acb46ae462 (diff) | |
download | gcc-7b36a3d439e2b838ed8bd30cdae52ca54a0f64e1.tar.gz |
Complete information generated through the array descriptor language hook
gcc/
* dwarf2out.h (enum array_descr_ordering): New.
(array_descr_dimen): Add a bounds_type structure field.
(struct array_descr_info): Add a field to hold index type information
and another one to hold ordering information.
* dwarf2out.c (gen_type_die_with_usage): Get the main variant before
invoking the array descriptor language hook. Initialize the
array_descr_info structure before calling the lang-hook.
(gen_descr_array_type_die): Use gen_type_die if not processing the main
type variant. Replace Fortran-specific code with generic one using
this new field. Add a GNAT descriptive type, if any. Output type
information for the array bound subrange, if any.
gcc/fortran
* trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
with column major ordering.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218823 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.h')
-rw-r--r-- | gcc/dwarf2out.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h index a10cee81617..a8d68bb1155 100644 --- a/gcc/dwarf2out.h +++ b/gcc/dwarf2out.h @@ -261,9 +261,17 @@ extern void dwarf2out_set_demangle_name_func (const char *(*) (const char *)); extern void dwarf2out_vms_debug_main_pointer (void); #endif +enum array_descr_ordering +{ + array_descr_ordering_default, + array_descr_ordering_row_major, + array_descr_ordering_column_major +}; + struct array_descr_info { int ndimensions; + enum array_descr_ordering ordering; tree element_type; tree base_decl; tree data_location; @@ -271,6 +279,10 @@ struct array_descr_info tree associated; struct array_descr_dimen { + /* GCC uses sizetype for array indices, so lower_bound and upper_bound + will likely be "sizetype" values. However, bounds may have another + type in the original source code. */ + tree bounds_type; tree lower_bound; tree upper_bound; tree stride; |