diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2003-06-09 12:57:15 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-06-09 12:57:15 +0000 |
commit | 36f04556d6bf6b8c272065bab473e354e8540ca9 (patch) | |
tree | 2c36f0d548c266e7b466be2d29acaab8cb00f8e1 | |
parent | 86143cb4c392278ae78e47eb4fe884ba82364d6f (diff) | |
download | gcc-36f04556d6bf6b8c272065bab473e354e8540ca9.zip gcc-36f04556d6bf6b8c272065bab473e354e8540ca9.tar.gz gcc-36f04556d6bf6b8c272065bab473e354e8540ca9.tar.bz2 |
tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is removed.
* tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
removed.
* java/java-tree.h (DECL_FUNCTION_LAST_LINE): New.
(struct lang_decl_func): Add last_line field.
* java/parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST,
DECL_SOURCE_LINE_LAST): Remove.
* java/parse.y (missing_return_error,
finish_method_declaration, lookup_cl, start_artificial_method_body,
source_end_java_method, start_complete_expand_method): Adjust.
From-SVN: r67661
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 3 | ||||
-rw-r--r-- | gcc/java/parse.h | 8 | ||||
-rw-r--r-- | gcc/java/parse.y | 14 | ||||
-rw-r--r-- | gcc/tree-inline.c | 6 |
6 files changed, 25 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84b3d6e..f07c4d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-09 Nathan Sidwell <nathan@codesourcery.com> + + * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is + removed. + 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com> * sh.c (gen_block_redirect): Use locators. diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 3051762..9d2a448 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,13 @@ +2003-06-09 Nathan Sidwell <nathan@codesourcery.com> + + * java-tree.h (DECL_FUNCTION_LAST_LINE): New. + (struct lang_decl_func): Add last_line field. + * parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST, + DECL_SOURCE_LINE_LAST): Remove. + * parse.y (missing_return_error, finish_method_declaration, + lookup_cl, start_artificial_method_body, source_end_java_method, + start_complete_expand_method): Adjust. + 2003-06-08 Tom Tromey <tromey@redhat.com> * jvspec.c (jvgenmain_spec): Added `*' after fassume-compiled and diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 78bc924..341928d 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -773,6 +773,8 @@ union lang_tree_node /* Number of local variable slots needed for the arguments of this function. */ #define DECL_ARG_SLOT_COUNT(DECL) \ (DECL_LANG_SPECIFIC(DECL)->u.f.arg_slot_count) +/* Line number of end of function. */ +#define DECL_FUNCTION_LAST_LINE(DECL) (DECL_LANG_SPECIFIC(DECL)->u.f.last_line) /* Information on declaration location */ #define DECL_FUNCTION_WFL(DECL) (DECL_LANG_SPECIFIC(DECL)->u.f.wfl) /* List of checked thrown exceptions, as specified with the `throws' @@ -974,6 +976,7 @@ struct lang_decl_func GTY(()) int max_locals; int max_stack; int arg_slot_count; + int last_line; /* End line number for a function decl */ tree wfl; /* Information on the original location */ tree throws_list; /* Exception specified by `throws' */ tree function_decl_body; /* Hold all function's statements */ diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 207bb8d..df1fa56 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -610,14 +610,6 @@ typedef struct jdeplist_s jdeplist; #define GET_CURRENT_BLOCK(F) ((F) ? DECL_FUNCTION_BODY ((F)) : \ current_static_block) -/* 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) - -/* Retrieve those two info separately. */ -#define DECL_SOURCE_LINE_FIRST(DECL) (DECL_SOURCE_LINE(DECL) & 0x0000ffff) -#define DECL_SOURCE_LINE_LAST(DECL) (DECL_SOURCE_LINE(DECL) >> 16) - /* Retrieve line/column from a WFL. */ #define EXPR_WFL_GET_LINECOL(V,LINE,COL) \ { \ diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 88c8c31..854fd5f 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -3139,7 +3139,7 @@ find_expr_with_wfl (tree node) static void missing_return_error (tree method) { - EXPR_WFL_SET_LINECOL (wfl_operator, DECL_SOURCE_LINE_LAST (method), -2); + EXPR_WFL_SET_LINECOL (wfl_operator, DECL_FUNCTION_LAST_LINE (method), -2); parse_error_context (wfl_operator, "Missing return statement"); } @@ -4758,7 +4758,7 @@ finish_method_declaration (tree method_body) /* Merge last line of the function with first line, directly in the function decl. It will be used to emit correct debug info. */ if (!flag_emit_xref) - DECL_SOURCE_LINE_MERGE (current_function_decl, ctxp->last_ccb_indent1); + DECL_FUNCTION_LAST_LINE (current_function_decl) = ctxp->last_ccb_indent1; /* Since function's argument's list are shared, reset the ARG_FINAL_P parameter that might have been set on some of this @@ -6604,7 +6604,7 @@ lookup_cl (tree decl) } EXPR_WFL_FILENAME_NODE (cl_v) = get_identifier (DECL_SOURCE_FILE (decl)); - EXPR_WFL_SET_LINECOL (cl_v, DECL_SOURCE_LINE_FIRST (decl), -1); + EXPR_WFL_SET_LINECOL (cl_v, DECL_SOURCE_LINE (decl), -1); line = java_get_line_col (EXPR_WFL_FILENAME (cl_v), EXPR_WFL_LINENO (cl_v), EXPR_WFL_COLNO (cl_v)); @@ -7313,7 +7313,7 @@ static void start_artificial_method_body (tree mdecl) { DECL_SOURCE_LINE (mdecl) = 1; - DECL_SOURCE_LINE_MERGE (mdecl, 1); + DECL_FUNCTION_LAST_LINE (mdecl) = 1; source_start_java_method (mdecl); enter_block (); } @@ -7385,11 +7385,9 @@ source_end_java_method (void) /* Generate rtl for function exit. */ if (! flag_emit_class_files && ! flag_emit_xref) { - input_line = DECL_SOURCE_LINE_LAST (fndecl); + input_line = DECL_FUNCTION_LAST_LINE (fndecl); expand_function_end (input_filename, input_line, 0); - DECL_SOURCE_LINE (fndecl) = DECL_SOURCE_LINE_FIRST (fndecl); - /* Run the optimizers and output assembler code for this function. */ rest_of_compilation (fndecl); } @@ -7894,7 +7892,7 @@ start_complete_expand_method (tree mdecl) TREE_CHAIN (tem) = next; } pushdecl_force_head (DECL_ARGUMENTS (mdecl)); - input_line = DECL_SOURCE_LINE_FIRST (mdecl); + input_line = DECL_SOURCE_LINE (mdecl); build_result_decl (mdecl); } diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 1387b99..a0fbe8e 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1420,13 +1420,9 @@ expand_call_inline (tp, walk_subtrees, data) pointing to the right place. */ #ifndef INLINER_FOR_JAVA chain = TREE_CHAIN (*tp); +#endif /* INLINER_FOR_JAVA */ *tp = build_expr_wfl (expr, DECL_SOURCE_FILE (fn), DECL_SOURCE_LINE (fn), /*col=*/0); -#else /* INLINER_FOR_JAVA */ - *tp = build_expr_wfl (expr, DECL_SOURCE_FILE (fn), - DECL_SOURCE_LINE_FIRST(fn), - /*col=*/0); -#endif /* INLINER_FOR_JAVA */ EXPR_WFL_EMIT_LINE_NOTE (*tp) = 1; #ifndef INLINER_FOR_JAVA TREE_CHAIN (*tp) = chain; |