diff options
author | Pierre-Marie de Rodat <derodat@adacore.com> | 2014-12-17 16:25:21 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2014-12-17 16:25:21 +0000 |
commit | 616743a89dcc2e240993f4cd57389963f28c1c88 (patch) | |
tree | 8a6807260b675ee552ea6bd67e5074f9aaecba7a /gcc/dwarf2out.h | |
parent | b86d271ef6e4ca0b63d5a209d3f5bffbcf7bbf21 (diff) | |
download | gcc-616743a89dcc2e240993f4cd57389963f28c1c88.zip gcc-616743a89dcc2e240993f4cd57389963f28c1c88.tar.gz gcc-616743a89dcc2e240993f4cd57389963f28c1c88.tar.bz2 |
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.
From-SVN: r218823
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 a10cee8..a8d68bb 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; |