aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gigi.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gigi.h')
-rw-r--r--gcc/ada/gigi.h42
1 files changed, 12 insertions, 30 deletions
diff --git a/gcc/ada/gigi.h b/gcc/ada/gigi.h
index 99b858b..ae1ba2a 100644
--- a/gcc/ada/gigi.h
+++ b/gcc/ada/gigi.h
@@ -36,11 +36,6 @@ extern unsigned int largest_move_alignment;
/* Declare all functions and types used by gigi. */
-/* See if DECL has an RTL that is indirect via a pseudo-register or a
- memory location and replace it with an indirect reference if so.
- This improves the debugger's ability to display the value. */
-extern void adjust_decl_rtl (tree);
-
/* Record the current code position in GNAT_NODE. */
extern void record_code_position (Node_Id);
@@ -94,6 +89,13 @@ extern tree gnat_to_gnu_entity (Entity_Id, tree, int);
refer to an Ada type. */
extern tree gnat_to_gnu_type (Entity_Id);
+/* Add GNU_STMT to the current BLOCK_STMT node. */
+extern void add_stmt (tree);
+
+/* Add a declaration statement for GNU_DECL to the current BLOCK_STMT node.
+ Get SLOC from Entity_Id. */
+extern void add_decl_stmt (tree, Entity_Id);
+
/* Given GNAT_ENTITY, elaborate all expressions that are required to
be elaborated at the point of its definition, but do nothing else. */
extern void elaborate_entity (Entity_Id);
@@ -381,37 +383,17 @@ extern int global_bindings_p (void);
is in reverse order (it has to be so for back-end compatibility). */
extern tree getdecls (void);
-/* Nonzero if the current level needs to have a BLOCK made. */
-extern int kept_level_p (void);
-
-/* Enter a new binding level. The input parameter is ignored, but has to be
- specified for back-end compatibility. */
-extern void pushlevel (int);
-
-/* Exit a binding level.
- Pop the level off, and restore the state of the identifier-decl mappings
- that were in effect when this level was entered.
-
- If KEEP is nonzero, this level had explicit declarations, so
- and create a "block" (a BLOCK node) for the level
- to record its declarations and subblocks for symbol table output.
-
- If FUNCTIONBODY is nonzero, this level is the body of a function,
- so create a block as if KEEP were set and also clear out all
- label names.
-
- If REVERSE is nonzero, reverse the order of decls before putting
- them into the BLOCK. */
-extern tree poplevel (int, int, int);
+/* Enter and exit a new binding level. */
+extern void gnat_pushlevel (void);
+extern void gnat_poplevel (void);
/* Insert BLOCK at the end of the list of subblocks of the
current binding level. This is used when a BIND_EXPR is expanded,
to handle the BLOCK node inside the BIND_EXPR. */
extern void insert_block (tree);
-/* Set the BLOCK node for the innermost scope
- (the one we are currently in). */
-extern void set_block (tree);
+/* Return nonzero if the are any variables in the current block. */
+extern int block_has_vars (void);
/* Records a ..._DECL node DECL as belonging to the current lexical scope.
Returns the ..._DECL node. */