From b16e8f08b4942c0971cf8f07ce041a882855c5fa Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Thu, 15 Mar 2001 22:30:28 -0800 Subject: [PATCH] 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 --- gcc/java/ChangeLog | 5 +++++ gcc/java/java-tree.h | 3 +++ gcc/java/parse.h | 4 ---- gcc/java/parse.y | 7 +++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 31c4d4c5a33..50efdcde427 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,10 @@ 2001-03-15 Per Bothner + * 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. diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index f804a37cc4d..a2be1b3ef54 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -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) \ { \ diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 336c2fdbc9d..8a7bae56a1b 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -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) diff --git a/gcc/java/parse.y b/gcc/java/parse.y index b29d1708435..2100c66c245 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -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); -- 2.30.2