[Ada] Use GNAT encodings only when -fgnat-encodings=all is specified
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 4 Jun 2021 16:22:17 +0000 (18:22 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 12 Jul 2021 12:50:57 +0000 (12:50 +0000)
commit58d32c72ca0156b0267a9b36b91b414cab8978f2
tree51b15e14a84852a7baed1d67dc6fe7fad1844a89
parent3ccd5d7192603e0ed6d0020658291b7c96f5651b
[Ada] Use GNAT encodings only when -fgnat-encodings=all is specified

gcc/ada/

* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Add a
parallel type only when -fgnat-encodings=all is specified.
<E_Array_Type>: Use the PAT name and special suffixes only when
-fgnat-encodings=all is specified.
<E_Array_Subtype>: Build a special type for debugging purposes only
when -fgnat-encodings=all is specified.  Add a parallel type or use
the PAT name only when -fgnat-encodings=all is specified.
<E_Record_Type>: Generate debug info for the inner record types only
when -fgnat-encodings=all is specified.
<E_Record_Subtype>: Use a debug type for an artificial subtype only
except when -fgnat-encodings=all is specified.
(elaborate_expression_1): Reset need_for_debug when possible only
except when -fgnat-encodings=all is specified.
(components_to_record): Use XV encodings for variable size only
when -fgnat-encodings=all is specified.
(associate_original_type_to_packed_array): Add a parallel type only
when -fgnat-encodings=all is specified.
* gcc-interface/misc.c (gnat_get_array_descr_info): Do not return
full information only when -fgnat-encodings=all is specified.
* gcc-interface/utils.c (make_packable_type): Add a parallel type
only when -fgnat-encodings=all is specified.
(maybe_pad_type): Make the inner type a debug type only except when
-fgnat-encodings=all is specified.  Create an XVS type for variable
size only when -fgnat-encodings=all is specified.
(rest_of_record_type_compilation): Add a parallel type only when
-fgnat-encodings=all is specified.
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/misc.c
gcc/ada/gcc-interface/utils.c