diff options
Diffstat (limited to 'gcc/ada/gcc-interface/trans.c')
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 6e651f4..65231bd 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -5372,7 +5372,12 @@ gnat_to_gnu (Node_Id gnat_node) /* Convert vector inputs to their representative array type, to fit what the code below expects. */ - gnu_array_object = maybe_vector_array (gnu_array_object); + if (VECTOR_TYPE_P (TREE_TYPE (gnu_array_object))) + { + if (present_in_lhs_or_actual_p (gnat_node)) + gnat_mark_addressable (gnu_array_object); + gnu_array_object = maybe_vector_array (gnu_array_object); + } gnu_array_object = maybe_unconstrained_array (gnu_array_object); |