diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-12-13 18:10:49 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-12-13 18:10:49 +0000 |
commit | e2d3a4bba91302346202e83b4c79a4d2c68d856c (patch) | |
tree | 426e4bc3cd3eadacc2a1434004a4933e098e1a8c /gcc/ada/gcc-interface/decl.c | |
parent | 5128d641baf69fc385182d30d93c8e1cdc0bae0b (diff) | |
download | gcc-e2d3a4bba91302346202e83b4c79a4d2c68d856c.zip gcc-e2d3a4bba91302346202e83b4c79a4d2c68d856c.tar.gz gcc-e2d3a4bba91302346202e83b4c79a4d2c68d856c.tar.bz2 |
decl.c (gnat_to_gnu_entity): Build a stub DECL for the dummy fat pointer type in the unconstrained array case.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_General_Access_Type>:
Build a stub DECL for the dummy fat pointer type in the unconstrained
array case.
* gcc-interface/utils.c (update_pointer_to): Set the DECL_ORIGINAL_TYPE
for all the variants in the fat pointer case.
From-SVN: r167758
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 8980bb2..b45033f 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -3566,6 +3566,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) TYPE_DUMMY_P (gnu_array_type) = 1; gnu_type = make_node (RECORD_TYPE); + /* Build a stub DECL to trigger the special processing for fat + pointer types in gnat_pushdecl. */ + TYPE_NAME (gnu_type) + = create_type_stub_decl + (create_concat_name (gnat_desig_equiv, "XUP"), gnu_type); SET_TYPE_UNCONSTRAINED_ARRAY (gnu_type, gnu_desig_type); TYPE_POINTER_TO (gnu_desig_type) = gnu_type; |