aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-04-02 08:36:32 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-04-02 08:36:32 +0000
commit65444786bebc03fd4f639801aecc8a25047d33f8 (patch)
tree881fb3f82762fd6dd981e1216e6623745d035a07 /gcc/ada/gcc-interface/decl.c
parent1aeb40dd6d0e8d5a62d25679fa6b0533d72fd4dd (diff)
downloadgcc-65444786bebc03fd4f639801aecc8a25047d33f8.zip
gcc-65444786bebc03fd4f639801aecc8a25047d33f8.tar.gz
gcc-65444786bebc03fd4f639801aecc8a25047d33f8.tar.bz2
ada-tree.h (DECL_TAFT_TYPE_P): New flag.
* gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it if this is a Taft amendment type and the full declaration is available. * gcc-interface/trans.c (process_type): Likewise. If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P. (process_freeze_entity): Likewise. * gcc-interface/utils.c (dummy_global): New static variable. (gnat_write_global_declarations): If there are types declared as used at the global level, insert them in the global hash table. From-SVN: r171881
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r--gcc/ada/gcc-interface/decl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index 1afa06c..9c79d65 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -4469,6 +4469,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
we can do any needed updates when we see it. */
gnu_type = make_dummy_type (gnat_entity);
gnu_decl = TYPE_STUB_DECL (gnu_type);
+ if (Has_Completion_In_Body (gnat_entity))
+ DECL_TAFT_TYPE_P (gnu_decl) = 1;
save_gnu_tree (full_view, gnu_decl, 0);
break;
}