aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-04-30 07:50:07 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-04-30 07:50:07 +0000
commitf04b8d6927ad8374c40a3412eeda8f3be18e9fc0 (patch)
tree37a384e07b2e25f70080174ef8e49ccde609ad7d /gcc/ada/gcc-interface/decl.c
parent90137d8f2c5dfb3cb589e4b3497c63d7f810767e (diff)
downloadgcc-f04b8d6927ad8374c40a3412eeda8f3be18e9fc0.zip
gcc-f04b8d6927ad8374c40a3412eeda8f3be18e9fc0.tar.gz
gcc-f04b8d6927ad8374c40a3412eeda8f3be18e9fc0.tar.bz2
gigi.h (mark_out_of_scope): Delete.
* 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. From-SVN: r186956
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r--gcc/ada/gcc-interface/decl.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index dac9942..6f351d3 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -5838,44 +5838,6 @@ elaborate_entity (Entity_Id gnat_entity)
}
}
-/* Mark GNAT_ENTITY as going out of scope at this point. Recursively mark
- any entities on its entity chain similarly. */
-
-void
-mark_out_of_scope (Entity_Id gnat_entity)
-{
- Entity_Id gnat_sub_entity;
- unsigned int kind = Ekind (gnat_entity);
-
- /* If this has an entity list, process all in the list. */
- if (IN (kind, Class_Wide_Kind) || IN (kind, Concurrent_Kind)
- || IN (kind, Private_Kind)
- || kind == E_Block || kind == E_Entry || kind == E_Entry_Family
- || kind == E_Function || kind == E_Generic_Function
- || kind == E_Generic_Package || kind == E_Generic_Procedure
- || kind == E_Loop || kind == E_Operator || kind == E_Package
- || kind == E_Package_Body || kind == E_Procedure
- || kind == E_Record_Type || kind == E_Record_Subtype
- || kind == E_Subprogram_Body || kind == E_Subprogram_Type)
- for (gnat_sub_entity = First_Entity (gnat_entity);
- Present (gnat_sub_entity);
- gnat_sub_entity = Next_Entity (gnat_sub_entity))
- if (Scope (gnat_sub_entity) == gnat_entity
- && gnat_sub_entity != gnat_entity)
- mark_out_of_scope (gnat_sub_entity);
-
- /* Now clear this if it has been defined, but only do so if it isn't
- a subprogram or parameter. We could refine this, but it isn't
- worth it. If this is statically allocated, it is supposed to
- hang around out of cope. */
- if (present_gnu_tree (gnat_entity) && !Is_Statically_Allocated (gnat_entity)
- && kind != E_Procedure && kind != E_Function && !IN (kind, Formal_Kind))
- {
- save_gnu_tree (gnat_entity, NULL_TREE, true);
- save_gnu_tree (gnat_entity, error_mark_node, true);
- }
-}
-
/* Relate the alias sets of GNU_NEW_TYPE and GNU_OLD_TYPE according to OP.
If this is a multi-dimensional array type, do this recursively.