OSDN Git Service

* lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jan 2007 22:43:45 +0000 (22:43 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jan 2007 22:43:45 +0000 (22:43 +0000)
case.
* java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
Removed case.
* java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
(EXPR_WFL_NODE): Likewise.
(EXPR_WFL_LINECOL): Likewise.
(EXPR_WFL_FILENAME): Likewise.
(EXPR_WFL_LINENO): Likewise.
(build_expr_wfl, expr_add_location): Don't declare.
(build_unknown_wfl): Removed.
(EXPR_WFL_FILENAME_NODE): Removed.
(EXPR_WFL_COLNO): Removed.
(EXPR_WFL_SET_LINECOL): Removed.
(DECL_FUNCTION_WFL): Removed.
(DECL_FIELD_FINAL_WFL): Removed.
(struct lang_decl_func) <wfl>: Removed field.
<called_constructor>: Likewise.
<inner_access>: Likewise.
(struct lang_decl_var) <wfl>: Removed field.
(DECL_CONSTRUCTOR_CALLS): Removed.
(DECL_FUNCTION_ACCESS_DECL): Likewise.
(DECL_FUNCTION_INNER_ACCESS): Likewise.
(DECL_SPECIFIC_COUNT): Likewise.
* java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
* expr.c (build_expr_wfl): Removed.
(expr_add_location): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120804 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/expr.c
gcc/java/java-gimplify.c
gcc/java/java-tree.def
gcc/java/java-tree.h
gcc/java/lang.c

index 19fd506..a71bfbb 100644 (file)
@@ -1,3 +1,33 @@
+2007-01-15  Tom Tromey  <tromey@redhat.com>
+
+       * lang.c (dump_compound_expr) <EXPR_WITH_FILE_LOCATION>: Removed
+       case.
+       * java-gimplify.c (java_gimplify_expr) <EXPR_WITH_FILE_LOCATION>:
+       Removed case.
+       * java-tree.h (EXPR_WFL_EMIT_LINE_NOTE): Removed.
+       (EXPR_WFL_NODE): Likewise.
+       (EXPR_WFL_LINECOL): Likewise.
+       (EXPR_WFL_FILENAME): Likewise.
+       (EXPR_WFL_LINENO): Likewise.
+       (build_expr_wfl, expr_add_location): Don't declare.
+       (build_unknown_wfl): Removed.
+       (EXPR_WFL_FILENAME_NODE): Removed.
+       (EXPR_WFL_COLNO): Removed.
+       (EXPR_WFL_SET_LINECOL): Removed.
+       (DECL_FUNCTION_WFL): Removed.
+       (DECL_FIELD_FINAL_WFL): Removed.
+       (struct lang_decl_func) <wfl>: Removed field.
+       <called_constructor>: Likewise.
+       <inner_access>: Likewise.
+       (struct lang_decl_var) <wfl>: Removed field.
+       (DECL_CONSTRUCTOR_CALLS): Removed.
+       (DECL_FUNCTION_ACCESS_DECL): Likewise.
+       (DECL_FUNCTION_INNER_ACCESS): Likewise.
+       (DECL_SPECIFIC_COUNT): Likewise.
+       * java-tree.def (EXPR_WITH_FILE_LOCATION): Removed.
+       * expr.c (build_expr_wfl): Removed.
+       (expr_add_location): Likewise.
+
 2007-01-12  Tom Tromey  <tromey@redhat.com>
 
        * jcf-dump.c (main): Updated call to find_class.
index 85d732c..c51b5cd 100644 (file)
@@ -3757,87 +3757,6 @@ force_evaluation_order (tree node)
   return node;
 }
 
-/* EXPR_WITH_FILE_LOCATION are used to keep track of the exact
-   location where an expression or an identifier were encountered. It
-   is necessary for languages where the frontend parser will handle
-   recursively more than one file (Java is one of them).  */
-
-tree
-build_expr_wfl (tree node,
-#ifdef USE_MAPPED_LOCATION
-               source_location location
-#else
-               const char *file, int line, int col
-#endif
-)
-{
-  tree wfl;
-
-#ifdef USE_MAPPED_LOCATION
-  wfl = make_node (EXPR_WITH_FILE_LOCATION);
-  SET_EXPR_LOCATION (wfl, location);
-#else
-  static const char *last_file = 0;
-  static tree last_filenode = NULL_TREE;
-
-  wfl = make_node (EXPR_WITH_FILE_LOCATION);
-
-  EXPR_WFL_SET_LINECOL (wfl, line, col);
-  if (file != last_file)
-    {
-      last_file = file;
-      last_filenode = file ? get_identifier (file) : NULL_TREE;
-    }
-  EXPR_WFL_FILENAME_NODE (wfl) = last_filenode;
-#endif
-  EXPR_WFL_NODE (wfl) = node;
-  if (node)
-    {
-      if (!TYPE_P (node))
-       TREE_SIDE_EFFECTS (wfl) = TREE_SIDE_EFFECTS (node);
-      TREE_TYPE (wfl) = TREE_TYPE (node);
-    }
-
-  return wfl;
-}
-
-#ifdef USE_MAPPED_LOCATION
-tree
-expr_add_location (tree node, source_location location, bool statement)
-{
-  tree wfl;
-#if 0
-  /* FIXME. This optimization causes failures in code that expects an
-     EXPR_WITH_FILE_LOCATION.  E.g. in resolve_qualified_expression_name. */
-  if (node && ! (statement && flag_emit_class_files))
-    {
-      source_location node_loc = EXPR_LOCATION (node);
-      if (node_loc == location || location == UNKNOWN_LOCATION)
-       return node;
-      if (node_loc == UNKNOWN_LOCATION
-         && IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (node))))
-       {
-         SET_EXPR_LOCATION (node, location);
-         return node;
-       }
-    }
-#endif
-  wfl = make_node (EXPR_WITH_FILE_LOCATION);
-  SET_EXPR_LOCATION (wfl, location);
-  EXPR_WFL_NODE (wfl) = node;
-  if (statement && debug_info_level != DINFO_LEVEL_NONE)
-    EXPR_WFL_EMIT_LINE_NOTE (wfl) = 1;
-  if (node)
-    {
-      if (!TYPE_P (node))
-       TREE_SIDE_EFFECTS (wfl) = TREE_SIDE_EFFECTS (node);
-      TREE_TYPE (wfl) = TREE_TYPE (node);
-    }
-
-  return wfl;
-}
-#endif
-
 /* Build a node to represent empty statements and blocks. */
 
 tree
index f084154..96e9009 100644 (file)
@@ -69,18 +69,6 @@ java_gimplify_expr (tree *expr_p, tree *pre_p ATTRIBUTE_UNUSED,
       *expr_p = java_gimplify_block (*expr_p);
       break;
 
-    case EXPR_WITH_FILE_LOCATION:
-#ifdef USE_MAPPED_LOCATION
-      input_location = EXPR_LOCATION (*expr_p);
-#else
-      input_location.file = EXPR_WFL_FILENAME (*expr_p);
-      input_location.line = EXPR_WFL_LINENO (*expr_p);
-#endif
-      *expr_p = EXPR_WFL_NODE (*expr_p);
-      if (EXPR_P (*expr_p))
-       SET_EXPR_LOCATION (*expr_p, input_location);
-      break;
-
     case LABELED_BLOCK_EXPR:
       *expr_p = java_gimplify_labeled_block_expr (*expr_p);
       break;
index a93d413..63fc865 100644 (file)
@@ -24,19 +24,6 @@ DEFTREECODE (EXIT_BLOCK_EXPR, "exit_block_expr", tcc_statement, 1)
    Operand 1 contains chained catch nodes. */
 DEFTREECODE (TRY_EXPR, "try-catch", tcc_expression, 2)
 
-/* Annotates a tree node (usually an expression) with source location
-   information: a file name (EXPR_WFL_FILENAME);  a line number
-   (EXPR_WFL_LINENO); and column number (EXPR_WFL_COLNO).  It is
-   expanded as the contained node (EXPR_WFL_NODE);  a line note should
-   be emitted first if EXPR_WFL_EMIT_LINE_NOTE.  */
-#ifdef USE_MAPPED_LOCATION
-DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location",
-            tcc_expression, 2)
-#else
-DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location",
-            tcc_expression, 3)
-#endif
-
 /*
 Local variables:
 mode:c
index dbc85d5..1f71764 100644 (file)
@@ -728,30 +728,13 @@ union lang_tree_node
   (DECL_LANG_SPECIFIC(DECL)->u.f.arg_slot_count)
 /* Source location 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'
    keyword */
 #define DECL_FUNCTION_THROWS(DECL) (DECL_LANG_SPECIFIC(DECL)->u.f.throws_list)
-/* List of other constructors of the same class that this constructor
-   calls */
-#define DECL_CONSTRUCTOR_CALLS(DECL) \
-  (DECL_LANG_SPECIFIC(DECL)->u.f.called_constructor)
-/* When the function is an access function, the DECL it was trying to
-   access */
-#define DECL_FUNCTION_ACCESS_DECL(DECL) \
-  (DECL_LANG_SPECIFIC(DECL)->u.f.called_constructor)
-/* The identifier of the access method used to invoke this method from
-   an inner class.  */
-#define DECL_FUNCTION_INNER_ACCESS(DECL) \
-  (DECL_LANG_SPECIFIC(DECL)->u.f.inner_access)
 /* Pointer to the function's current's COMPOUND_EXPR tree (while
    completing its body) or the function's block */
 #define DECL_FUNCTION_BODY(DECL) \
   (DECL_LANG_SPECIFIC(DECL)->u.f.function_decl_body)
-/* How specific the function is (for method selection - Java source
-   code front-end */
-#define DECL_SPECIFIC_COUNT(DECL) DECL_ARG_SLOT_COUNT(DECL)
 /* For each function decl, init_test_table contains a hash table whose
    entries are keyed on class names, and whose values are local
    boolean decls.  The variables are intended to be TRUE when the
@@ -819,8 +802,6 @@ union lang_tree_node
 /* True if a final field was initialized upon its declaration
    or in an initializer.  Set after definite assignment.  */
 #define DECL_FIELD_FINAL_IUD(NODE)  (DECL_LANG_SPECIFIC (NODE)->u.v.final_iud)
-/* The original WFL of a final variable. */
-#define DECL_FIELD_FINAL_WFL(NODE)  (DECL_LANG_SPECIFIC(NODE)->u.v.wfl)
 /* The class that's the owner of a dynamic binding table.  */
 #define DECL_OWNER(NODE)            (DECL_LANG_SPECIFIC(NODE)->u.v.owner)
 /* True if NODE is a local variable final. */
@@ -888,11 +869,8 @@ struct lang_decl_func GTY(())
   /* A temporary lie for the sake of ggc.  Actually, last_line is
      only a source_location if USE_MAPPED_LOCATION.  FIXME.  */
   source_location 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 */
-  tree called_constructor;     /* When decl is a constructor, the
-                                  list of other constructor it calls */
 
   /* Class initialization test variables  */
   htab_t GTY ((param_is (struct treetreehash_entry))) init_test_table;
@@ -900,8 +878,6 @@ struct lang_decl_func GTY(())
   /* Initialized (static) Class Table */
   htab_t GTY ((param_is (union tree_node))) ict;
 
-  tree inner_access;           /* The identifier of the access method
-                                  used for invocation from inner classes */
   unsigned int native : 1;     /* Nonzero if this is a native method  */
   unsigned int init_final : 1; /* Nonzero all finals are initialized */
   unsigned int init_calls_this : 1;
@@ -972,7 +948,6 @@ struct lang_decl_var GTY(())
   int end_pc;
   tree slot_chain;
   tree am;                     /* Access method for this field (1.1) */
-  tree wfl;                    /* Original wfl */
   tree owner;
   unsigned int final_iud : 1;  /* Final initialized upon declaration */
   unsigned int cif : 1;                /* True: decl is a class initialization flag */
@@ -1702,36 +1677,6 @@ enum
 #define EXIT_BLOCK_LABELED_BLOCK(NODE) \
   TREE_OPERAND_CHECK_CODE (NODE, EXIT_BLOCK_EXPR, 0)
 
-/* In an EXPR_WITH_FILE_LOCATION node.  */
-#define EXPR_WFL_EMIT_LINE_NOTE(NODE) \
-  (EXPR_WITH_FILE_LOCATION_CHECK (NODE)->base.public_flag)
-#undef EXPR_WFL_NODE
-#define EXPR_WFL_NODE(NODE) \
-  TREE_OPERAND (EXPR_WITH_FILE_LOCATION_CHECK (NODE), 0)
-#ifdef USE_MAPPED_LOCATION
-#define EXPR_WFL_LINECOL(NODE) EXPR_LOCUS(NODE)
-#define EXPR_WFL_FILENAME(NODE) EXPR_FILENAME (NODE)
-#define EXPR_WFL_LINENO(NODE) EXPR_LINENO (NODE)
-extern tree build_expr_wfl (tree, source_location);
-extern tree expr_add_location (tree, source_location, bool);
-#define build_unknown_wfl(NODE) build_expr_wfl(NODE, UNKNOWN_LOCATION)
-#else
-#define EXPR_WFL_LINECOL(NODE) (EXPR_CHECK (NODE)->exp.complexity)
-#define EXPR_WFL_LINENO(NODE) (EXPR_WFL_LINECOL (NODE) >> 12)
-#define EXPR_WFL_COLNO(NODE) (EXPR_WFL_LINECOL (NODE) & 0xfff)
-#undef EXPR_WFL_FILENAME_NODE
-#define EXPR_WFL_FILENAME_NODE(NODE) \
-  TREE_OPERAND (EXPR_WITH_FILE_LOCATION_CHECK (NODE), 2)
-#define EXPR_WFL_FILENAME(NODE) \
-  IDENTIFIER_POINTER (EXPR_WFL_FILENAME_NODE (NODE))
-/* ??? Java uses this in all expressions.  */
-#define EXPR_WFL_SET_LINECOL(NODE, LINE, COL) \
-  (EXPR_WFL_LINECOL(NODE) = ((LINE) << 12) | ((COL) & 0xfff))
-
-extern tree build_expr_wfl (tree, const char *, int, int);
-#define build_unknown_wfl(NODE) build_expr_wfl(NODE, NULL, 0, 0)
-#endif
-
 extern void java_genericize (tree);
 extern int java_gimplify_expr (tree *, tree *, tree *);
 
index e5d2543..51459c5 100644 (file)
@@ -876,13 +876,6 @@ dump_compound_expr (dump_info_p di, tree t)
          dump_compound_expr (di, TREE_OPERAND (t, i));
          break;
 
-       case EXPR_WITH_FILE_LOCATION:
-           {
-             tree wfl_node = EXPR_WFL_NODE (TREE_OPERAND (t, i));
-             dump_child ("expr", wfl_node);
-             break;
-           }
-
        default:
          dump_child ("expr", TREE_OPERAND (t, i));
        }