diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-03-12 20:00:32 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-03-12 20:00:32 +0000 |
commit | 2b45154d2074a11baa2dfa18247848227fbfa1f0 (patch) | |
tree | 1b26a4183158628e3053e92f393f5fa662df3146 /gcc/ada/gcc-interface/decl.c | |
parent | 0452b4d47fe1e13bbcb8578e7e348cef2ca17e42 (diff) | |
download | gcc-2b45154d2074a11baa2dfa18247848227fbfa1f0.zip gcc-2b45154d2074a11baa2dfa18247848227fbfa1f0.tar.gz gcc-2b45154d2074a11baa2dfa18247848227fbfa1f0.tar.bz2 |
gigi.h (shift_unc_components_for_thin_pointers): Kill.
* gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
to above function.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
handling of thin pointers.
<Attr_Descriptor_Size>: Likewise.
(gnat_to_gnu) <N_Free_Statement>: Likewise.
* gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
(convert_to_fat_pointer): Adjust handling of thin pointers.
(convert) <POINTER_TYPE>: Likewise.
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
From-SVN: r185268
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 120628e..a3320ed 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -2280,13 +2280,14 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) gnu_fat_type, NULL, !Comes_From_Source (gnat_entity), debug_info_p, gnat_entity); - /* Create the type to be used as what a thin pointer designates: - a record type for the object and its template with the fields - shifted to have the template at a negative offset. */ + /* Create the type to be designated by thin pointers: a record type for + the array and its template. We used to shift the fields to have the + template at a negative offset, but this was somewhat of a kludge; we + now shift thin pointer values explicitly but only those which have a + TYPE_UNCONSTRAINED_ARRAY attached to the designated RECORD_TYPE. */ tem = build_unc_object_type (gnu_template_type, tem, create_concat_name (gnat_name, "XUT"), debug_info_p); - shift_unc_components_for_thin_pointers (tem); SET_TYPE_UNCONSTRAINED_ARRAY (tem, gnu_type); TYPE_OBJECT_RECORD_TYPE (gnu_type) = tem; |