diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-10-31 20:35:47 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-10-31 20:35:47 +0100 |
commit | 5cea3ad6b50bc3bc014b3ce26774e99789c14a2f (patch) | |
tree | 134de51157bc15c220fdc4879ad108808f6989f1 /gcc/ada | |
parent | 2a3d56bfc4890f0b5e8107883ba3436a8e6fb6a8 (diff) | |
download | gcc-5cea3ad6b50bc3bc014b3ce26774e99789c14a2f.zip gcc-5cea3ad6b50bc3bc014b3ce26774e99789c14a2f.tar.gz gcc-5cea3ad6b50bc3bc014b3ce26774e99789c14a2f.tar.bz2 |
dwarf2out.h (struct dw_loc_descr_node): Adjust comment for frame_offset_rel bit.
* dwarf2out.h (struct dw_loc_descr_node): Adjust comment
for frame_offset_rel bit.
(struct array_descr_info): Add rank field.
* dwarf2out.c (struct loc_descr_context): Add placeholder_arg
and placeholder_seen fields.
(resolve_args_picking_1): Handle also frame_offset_rel DW_OP_dup
and DW_OP_over. Optimize DW_OP_pick 0 into DW_OP_dup and
DW_OP_pick 1 into DW_OP_over.
(function_to_dwarf_procedure, type_byte_size, field_byte_offset,
gen_variant_part): Clear placeholder_{arg,seen}.
(loc_list_from_tree_1): Drop const from context argument.
Handle integral PLACEHOLDER_EXPR if context->placeholder_arg.
(loc_list_for_address_of_addr_expr_of_indirect_ref,
loc_list_from_tree, loc_descriptor_from_tree): Drop const from
context argument.
(add_scalar_info): Drop const from context argument. Handle
context->placeholder_arg.
(add_bound_info): Drop const from context argument.
(gen_descr_array_type_die): Drop const from ctx variable.
Initialize placeholder_arg and placeholder_seen. Add DW_AT_rank
attribute and use a single DW_TAG_generic_subrange instead of
7 DW_TAG_subrange_type for assumed rank arrays.
fortran/
* trans-types.c (gfc_get_array_descr_info): For -gdwarf-5 or
-gno-strict-dwarf, handle assumed rank arrays the way dwarf2out
expects.
ada/
* gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank
field.
From-SVN: r241719
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 14782a7..cdb4d87 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-10-31 Jakub Jelinek <jakub@redhat.com> + + * gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank + field. + 2016-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * gcc-interface/Make-lang.in (lang_checks_parallelized): New target. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 76ad06c..1fed72a 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -898,6 +898,7 @@ gnat_get_array_descr_info (const_tree const_type, } info->ndimensions = i; + info->rank = NULL_TREE; /* Too many dimensions? Give up generating proper description: yield instead nested arrays. Note that in this case, this hook is invoked once on each |