-2001-03-13 Per Bothner <per@bothner.com>
+2001-03-15 Per Bothner <per@bothner.com>
+
+ Remove junk from when gcc/java was created (by copying from C/C++).
+ * decl.c (keep_next_level_flag, keep_next_if_subblocks): Remove.
+ (struct binding_level): Remove fields keep, keep_if_subblocks,
+ more_cleanups_ok, have_cleanups (which have never been used).
+ (pushlevel, poplevel): Remove related useless code.
* class.c (make_class_data): The class_dtable_decl (i.e. the
vtable for Class) should be external, except when compiling Class.
/* The binding level which this one is contained in (inherits from). */
struct binding_level *level_chain;
- /* 1 means make a BLOCK for this level regardless of all else.
- 2 for temporary binding contours created by the compiler. */
- char keep;
-
- /* Nonzero means make a BLOCK if this level has any subblocks. */
- char keep_if_subblocks;
-
- /* Nonzero if this level can safely have additional
- cleanup-needing variables added to it. */
- char more_cleanups_ok;
- char have_cleanups;
-
/* The bytecode PC that marks the end of this level. */
int end_pc;
/* The bytecode PC that marks the start of this level. */
static struct binding_level clear_binding_level
= {NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE,
- NULL_BINDING_LEVEL, 0, 0, 0, 0, LARGEST_PC, 0};
+ NULL_BINDING_LEVEL, 0, LARGEST_PC};
#if 0
/* A list (chain of TREE_LIST nodes) of all LABEL_DECLs in the function
int flag_traditional;
-/* Nonzero means unconditionally make a BLOCK for the next level pushed. */
-
-static int keep_next_level_flag;
-
-/* Nonzero means make a BLOCK for the next level pushed
- if it has subblocks. */
-
-static int keep_next_if_subblocks;
-
tree java_global_trees[JTI_MAX];
tree predef_filenames[PREDEF_FILENAMES_SIZE];
*newlevel = clear_binding_level;
newlevel->level_chain = current_binding_level;
current_binding_level = newlevel;
- newlevel->keep = keep_next_level_flag;
- keep_next_level_flag = 0;
- newlevel->keep_if_subblocks = keep_next_if_subblocks;
- keep_next_if_subblocks = 0;
#if defined(DEBUG_JAVA_BINDING_LEVELS)
newlevel->binding_depth = binding_depth;
indent ();
#endif
#endif /* defined(DEBUG_JAVA_BINDING_LEVELS) */
- keep |= current_binding_level->keep;
-
/* Get the decls in the order they were written.
Usually current_binding_level->names is in reverse order.
But parameter decls were previously put in forward order. */
block_previously_created = (current_binding_level->this_block != 0);
if (block_previously_created)
block = current_binding_level->this_block;
- else if (keep || functionbody
- || (current_binding_level->keep_if_subblocks && subblocks != 0))
+ else if (keep || functionbody)
block = make_node (BLOCK);
if (block != 0)
{