java-tree.h (BLOCK_IS_IMPLICIT): New flag.

* java-tree.h (BLOCK_IS_IMPLICIT):  New flag.
	* parse.h (BLOCK_EXPR_ORIGIN):  Removed macro.
	* parse.y (declare_local_variables, maybe_absorb_scoping_blocks):
	Use BLOCK_IS_IMPLICIT rather than BLOCK_EXPR_ORIGIN.

From-SVN: r40542
This commit is contained in:
Per Bothner 2001-03-15 22:30:28 -08:00 committed by Per Bothner
parent 3a2e5926e6
commit b16e8f08b4
4 changed files with 11 additions and 8 deletions

View File

@ -1,5 +1,10 @@
2001-03-15 Per Bothner <per@bothner.com>
* java-tree.h (BLOCK_IS_IMPLICIT): New flag.
* parse.h (BLOCK_EXPR_ORIGIN): Removed macro.
* parse.y (declare_local_variables, maybe_absorb_scoping_blocks):
Use BLOCK_IS_IMPLICIT rather than BLOCK_EXPR_ORIGIN.
* jcf-parse.c (yyparse): Set/reset input_filename for source file.
* parse.y (java_expand_classes): Likewise.

View File

@ -48,6 +48,7 @@ struct JCF;
IS_A_CLASSFILE_NAME (in IDENTIFIER_NODE)
COMPOUND_ASSIGN_P (in EXPR (binop_*))
LOCAL_CLASS_P (in RECORD_TYPE)
BLOCK_IS_IMPLICIT (in BLOCK)
2: RETURN_MAP_ADJUSTED (in TREE_VEC).
QUALIFIED_P (in IDENTIFIER_NODE)
PRIMARY_P (in EXPR_WITH_FILE_LOCATION)
@ -1501,6 +1502,8 @@ extern tree *type_map;
#define BLOCK_EXPR_DECLS(NODE) BLOCK_VARS(NODE)
#define BLOCK_EXPR_BODY(NODE) BLOCK_SUBBLOCKS(NODE)
/* True for an implicit block surrounding declaration not at start of {...}. */
#define BLOCK_IS_IMPLICIT(NODE) TREE_LANG_FLAG_1 (NODE)
#define BUILD_MONITOR_ENTER(WHERE, ARG) \
{ \

View File

@ -603,10 +603,6 @@ typedef struct _jdeplist {
#define GET_CURRENT_BLOCK(F) ((F) ? DECL_FUNCTION_BODY ((F)) : \
current_static_block)
/* For an artificial BLOCK (created to house a local variable declaration not
at the start of an existing block), the parent block; otherwise NULL. */
#define BLOCK_EXPR_ORIGIN(NODE) BLOCK_ABSTRACT_ORIGIN(NODE)
/* Merge an other line to the source line number of a decl. Used to
remember function's end. */
#define DECL_SOURCE_LINE_MERGE(DECL,NO) DECL_SOURCE_LINE(DECL) |= (NO << 16)

View File

@ -6909,12 +6909,11 @@ declare_local_variables (modifier, type, vlist)
int final_p = 0;
/* Push a new block if statements were seen between the last time we
pushed a block and now. Keep a cound of block to close */
pushed a block and now. Keep a count of blocks to close */
if (BLOCK_EXPR_BODY (GET_CURRENT_BLOCK (current_function_decl)))
{
tree body = GET_CURRENT_BLOCK (current_function_decl);
tree b = enter_block ();
BLOCK_EXPR_ORIGIN (b) = body;
BLOCK_IS_IMPLICIT (b) = 1;
}
if (modifier)
@ -11962,7 +11961,7 @@ lookup_name_in_blocks (name)
static void
maybe_absorb_scoping_blocks ()
{
while (BLOCK_EXPR_ORIGIN (GET_CURRENT_BLOCK (current_function_decl)))
while (BLOCK_IS_IMPLICIT (GET_CURRENT_BLOCK (current_function_decl)))
{
tree b = exit_block ();
java_method_add_stmt (current_function_decl, b);