diff options
Diffstat (limited to 'gcc/ada/decl.c')
-rw-r--r-- | gcc/ada/decl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c index a61c2f0..01827b4 100644 --- a/gcc/ada/decl.c +++ b/gcc/ada/decl.c @@ -2376,6 +2376,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) finish_record_type (gnu_bound_rec_type, gnu_field_list, 0, false); + + TYPE_STUB_DECL (gnu_type) + = build_decl (TYPE_DECL, NULL_TREE, gnu_type); + + add_parallel_type + (TYPE_STUB_DECL (gnu_type), gnu_bound_rec_type); } TYPE_CONVENTION_FORTRAN_P (gnu_type) @@ -3106,6 +3112,9 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) 0, NULL_TREE, NULL_TREE, 0), 0, false); + + add_parallel_type (TYPE_STUB_DECL (gnu_type), + gnu_subtype_marker); } /* Now we can finalize it. */ @@ -5767,6 +5776,8 @@ maybe_pad_type (tree type, tree size, unsigned int align, 0), 0, false); + add_parallel_type (TYPE_STUB_DECL (record), marker); + if (size && TREE_CODE (size) != INTEGER_CST && definition) create_var_decl (concat_id_with_name (name, "XVZ"), NULL_TREE, bitsizetype, TYPE_SIZE (record), false, false, false, |