summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface/utils.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-30 07:50:07 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-30 07:50:07 +0000
commit5154a747afbdb5b12b2a7e859bb0e6645e933e39 (patch)
tree37a384e07b2e25f70080174ef8e49ccde609ad7d /gcc/ada/gcc-interface/utils.c
parentb86527d8bdc0400a78e23249ea7c15a82d890573 (diff)
downloadppe42-gcc-5154a747afbdb5b12b2a7e859bb0e6645e933e39.tar.gz
ppe42-gcc-5154a747afbdb5b12b2a7e859bb0e6645e933e39.zip
* gcc-interface/gigi.h (mark_out_of_scope): Delete.
(destroy_gnat_to_gnu): Declare. (destroy_dummy_type): Likewise. * gcc-interface/decl.c (mark_out_of_scope): Delete. * gcc-interface/utils.c (destroy_gnat_to_gnu): New function. (destroy_dummy_type): Likewise. * gcc-interface/trans.c (gnat_validate_uc_list): New variable. (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list after the translation is completed.  Call destroy_gnat_to_gnu and destroy_dummy_type at the end. (Subprogram_Body_to_gnu): Do not call mark_out_of_scope. (gnat_to_gnu) <N_Block_Statement>: Likewise. <N_Validate_Unchecked_Conversion>: Do not process the node, only push it onto gnat_validate_uc_list. (validate_unchecked_conversion): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186956 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r--gcc/ada/gcc-interface/utils.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 41f83bfbe8a..123c3a5705c 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -231,6 +231,15 @@ init_gnat_to_gnu (void)
associate_gnat_to_gnu = ggc_alloc_cleared_vec_tree (max_gnat_nodes);
}
+/* Destroy the association of GNAT nodes to GCC trees. */
+
+void
+destroy_gnat_to_gnu (void)
+{
+ ggc_free (associate_gnat_to_gnu);
+ associate_gnat_to_gnu = NULL;
+}
+
/* GNAT_ENTITY is a GNAT tree node for an entity. Associate GNU_DECL, a GCC
tree node, with GNAT_ENTITY. If GNU_DECL is not a ..._DECL node, abort.
If NO_CHECK is true, the latter check is suppressed.
@@ -280,6 +289,15 @@ init_dummy_type (void)
dummy_node_table = ggc_alloc_cleared_vec_tree (max_gnat_nodes);
}
+/* Destroy the association of GNAT nodes to GCC trees as dummies. */
+
+void
+destroy_dummy_type (void)
+{
+ ggc_free (dummy_node_table);
+ dummy_node_table = NULL;
+}
+
/* Make a dummy type corresponding to GNAT_TYPE. */
tree
OpenPOWER on IntegriCloud