remove tree-browser
authorSebastian Pop <s.pop@samsung.com>
Sat, 25 Jul 2015 09:29:11 +0000 (09:29 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Sat, 25 Jul 2015 09:29:11 +0000 (09:29 +0000)
* Makefile.in: Remove use of TREEBROWSER.
* config.in: Regenerated.
* configure: Regenerated.
* configure.ac: Remove definition of TREEBROWSER.
* tree-browser.c: Removed.
* tree-browser.def: Removed.

From-SVN: r226214

gcc/ChangeLog
gcc/Makefile.in
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/tree-browser.c [deleted file]
gcc/tree-browser.def [deleted file]

index 04f7faba4bdeb0366c853d2ef1e49fbe933d94b7..f91b006deaa4552b87880da0b5d43f04ce911292 100644 (file)
@@ -1,3 +1,12 @@
+2015-07-25  Sebastian Pop  <s.pop@samsung.com>
+
+       * Makefile.in: Remove use of TREEBROWSER.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+       * configure.ac: Remove definition of TREEBROWSER.
+       * tree-browser.c: Removed.
+       * tree-browser.def: Removed.
+
 2015-07-25  Sebastian Pop  <s.pop@samsung.com>
 
        * graphite-scop-detection.c: Include gimple-pretty-print.h.
index 333461b5ccb9b23df3445e10549ab6acd8334f9a..be259e86b2d2f6c5bfee2e56c424aa323d6d8a81 100644 (file)
@@ -1525,7 +1525,7 @@ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
 ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
 
 ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
-  $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \
+  $(OBJS-libcommon-target) main.o c-family/cppspec.o \
   $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \
   $(GCOV_TOOL_OBJS) $(GENGTYPE_OBJS) gcc-ar.o gcc-nm.o gcc-ranlib.o \
   lto-wrapper.o collect-utils.o
@@ -1534,7 +1534,7 @@ ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
 # compilation or not.
 ALL_HOST_OBJS = $(ALL_HOST_FRONTEND_OBJS) $(ALL_HOST_BACKEND_OBJS)
 
-BACKEND = libbackend.a main.o @TREEBROWSER@ libcommon-target.a libcommon.a \
+BACKEND = libbackend.a main.o libcommon-target.a libcommon.a \
        $(CPPLIB) $(LIBDECNUMBER)
 
 # This is defined to "yes" if Tree checking is enabled, which roughly means
index 67d03d170988a401bda6f80354c4249ca225a568..541963a727a23eb1f598263a146760c77e4520bb 100644 (file)
 
 /* Define if you want all operations on trees (the basic data structure of the
    front ends) to be checked for dynamic type safety at runtime. This is
-   moderately expensive. The tree browser debugging routines will also be
-   enabled by this option. */
+   moderately expensive. */
 #ifndef USED_FOR_TARGET
 #undef ENABLE_TREE_CHECKING
 #endif
index dac5b074759010aff2ce4e4cf184999fb657e76e..c8928d821b01441a1cb9987f830264e2b84fcd0f 100755 (executable)
@@ -781,7 +781,6 @@ valgrind_command
 valgrind_path_defines
 valgrind_path
 TREECHECKING
-TREEBROWSER
 nocommon_flag
 noexception_flags
 warn_cxxflags
@@ -7085,7 +7084,6 @@ if test x$ac_tree_checking != x ; then
 
 $as_echo "#define ENABLE_TREE_CHECKING 1" >>confdefs.h
 
-  TREEBROWSER=tree-browser.o
   TREECHECKING=yes
 fi
 if test x$ac_types_checking != x ; then
@@ -7094,7 +7092,6 @@ $as_echo "#define ENABLE_TYPES_CHECKING 1" >>confdefs.h
 
 fi
 
-
 if test x$ac_rtl_checking != x ; then
 
 $as_echo "#define ENABLE_RTL_CHECKING 1" >>confdefs.h
@@ -18304,7 +18301,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18307 "configure"
+#line 18304 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18410,7 +18407,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18413 "configure"
+#line 18410 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
index 3359f10c87eb889b4747c3643d2ecd76cfbcf7fc..a192ad92129ac47403523723c8315c69fe497a80 100644 (file)
@@ -569,10 +569,8 @@ if test x$ac_tree_checking != x ; then
   AC_DEFINE(ENABLE_TREE_CHECKING, 1,
 [Define if you want all operations on trees (the basic data
    structure of the front ends) to be checked for dynamic type safety
-   at runtime.  This is moderately expensive.  The tree browser debugging
-   routines will also be enabled by this option.
+   at runtime.  This is moderately expensive.
    ])
-  TREEBROWSER=tree-browser.o
   TREECHECKING=yes
 fi
 if test x$ac_types_checking != x ; then
@@ -581,7 +579,6 @@ if test x$ac_types_checking != x ; then
    This is cheap.
    ])
 fi
-AC_SUBST(TREEBROWSER)
 AC_SUBST(TREECHECKING)
 if test x$ac_rtl_checking != x ; then
   AC_DEFINE(ENABLE_RTL_CHECKING, 1,
diff --git a/gcc/tree-browser.c b/gcc/tree-browser.c
deleted file mode 100644 (file)
index a73131d..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-/* Tree browser.
-   Copyright (C) 2002-2015 Free Software Foundation, Inc.
-   Contributed by Sebastian Pop <s.pop@laposte.net>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "alias.h"
-#include "tree.h"
-#include "options.h"
-#include "tree-pretty-print.h"
-#include "print-tree.h"
-
-#define TB_OUT_FILE stdout
-#define TB_IN_FILE stdin
-#define TB_NIY fprintf (TB_OUT_FILE, "Sorry this command is not yet implemented.\n")
-#define TB_WF fprintf (TB_OUT_FILE, "Warning, this command failed.\n")
-
-/* Structures for handling Tree Browser's commands.  */
-#define DEFTBCODE(COMMAND, STRING, HELP)   COMMAND,
-enum TB_Comm_code {
-#include "tree-browser.def"
-  TB_UNUSED_COMMAND
-};
-#undef DEFTBCODE
-typedef enum TB_Comm_code TB_CODE;
-
-struct tb_command {
-  const char *help_msg;
-  const char *comm_text;
-  size_t comm_len;
-  TB_CODE comm_code;
-};
-
-#define DEFTBCODE(code, str, help) { help, str, sizeof (str) - 1, code },
-static const struct tb_command tb_commands[] =
-{
-#include "tree-browser.def"
-};
-#undef DEFTBCODE
-
-#define TB_COMMAND_LEN(N) (tb_commands[N].comm_len)
-#define TB_COMMAND_TEXT(N) (tb_commands[N].comm_text)
-#define TB_COMMAND_CODE(N) (tb_commands[N].comm_code)
-#define TB_COMMAND_HELP(N) (tb_commands[N].help_msg)
-
-
-/* Next structure is for parsing TREE_CODEs.  */
-struct tb_tree_code {
-  enum tree_code code;
-  const char *code_string;
-  size_t code_string_len;
-};
-
-#define DEFTREECODE(SYM, STRING, TYPE, NARGS) { SYM, STRING, sizeof (STRING) - 1 },
-#define END_OF_BASE_TREE_CODES \
-  { LAST_AND_UNUSED_TREE_CODE, "@dummy", sizeof ("@dummy") - 1 },
-static const struct tb_tree_code tb_tree_codes[] =
-{
-#include "all-tree.def"
-};
-#undef DEFTREECODE
-#undef END_OF_BASE_TREE_CODES
-
-#define TB_TREE_CODE(N) (tb_tree_codes[N].code)
-#define TB_TREE_CODE_TEXT(N) (tb_tree_codes[N].code_string)
-#define TB_TREE_CODE_LEN(N) (tb_tree_codes[N].code_string_len)
-
-
-/* Function declarations.  */
-
-static long TB_getline (char **, long *, FILE *);
-static TB_CODE TB_get_command (char *);
-static enum tree_code TB_get_tree_code (char *);
-static tree find_node_with_code (tree *, int *, void *);
-static tree store_child_info (tree *, int *, void *);
-static void TB_update_up (tree);
-static tree TB_current_chain_node (tree);
-static tree TB_prev_expr (tree);
-static tree TB_next_expr (tree);
-static tree TB_up_expr (tree);
-static tree TB_first_in_bind (tree);
-static tree TB_last_in_bind (tree);
-static tree TB_history_prev (void);
-
-/* FIXME: To be declared in a .h file.  */
-void browse_tree (tree);
-
-/* Hashtable helpers.  */
-struct tree_upper_hasher : nofree_ptr_hash<tree_node>
-{
-  static inline bool equal (const value_type &, const compare_type &);
-};
-
-inline bool
-tree_upper_hasher::equal (const value_type &parent, const compare_type &node)
-{
-  if (parent == NULL || node == NULL)
-    return 0;
-
-  if (EXPR_P (parent))
-    {
-      int n = TREE_OPERAND_LENGTH (parent);
-      int i;
-      for (i = 0; i < n; i++)
-       if (node == TREE_OPERAND (parent, i))
-         return true;
-    }
-  return false;
-}
-
-/* Static variables.  */
-static hash_table<tree_upper_hasher> *TB_up_ht;
-static vec<tree, va_gc> *TB_history_stack;
-static int TB_verbose = 1;
-
-
-/* Entry point in the Tree Browser.  */
-
-void
-browse_tree (tree begin)
-{
-  tree head;
-  TB_CODE tbc = TB_UNUSED_COMMAND;
-  ssize_t rd;
-  char *input = NULL;
-  long input_size = 0;
-
-  fprintf (TB_OUT_FILE, "\nTree Browser\n");
-
-#define TB_SET_HEAD(N) do {                                           \
-  vec_safe_push (TB_history_stack, N);                                \
-  head = N;                                                           \
-  if (TB_verbose)                                                     \
-    if (head)                                                         \
-      {                                                               \
-       print_generic_expr (TB_OUT_FILE, head, 0);                    \
-       fprintf (TB_OUT_FILE, "\n");                                  \
-      }                                                               \
-} while (0)
-
-  TB_SET_HEAD (begin);
-
-  /* Store in a hashtable information about previous and upper statements.  */
-  {
-    TB_up_ht = new hash_table<tree_upper_hasher> (1023);
-    TB_update_up (head);
-  }
-
-  while (24)
-    {
-      fprintf (TB_OUT_FILE, "TB> ");
-      rd = TB_getline (&input, &input_size, TB_IN_FILE);
-
-      if (rd == -1)
-       /* EOF.  */
-       goto ret;
-
-      if (rd != 1)
-       /* Get a new command.  Otherwise the user just pressed enter, and thus
-          she expects the last command to be reexecuted.  */
-       tbc = TB_get_command (input);
-
-      switch (tbc)
-       {
-       case TB_UPDATE_UP:
-         TB_update_up (head);
-         break;
-
-       case TB_MAX:
-         if (head && (INTEGRAL_TYPE_P (head)
-                      || TREE_CODE (head) == REAL_TYPE
-                      || TREE_CODE (head) == FIXED_POINT_TYPE))
-           TB_SET_HEAD (TYPE_MAX_VALUE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_MIN:
-         if (head && (INTEGRAL_TYPE_P (head)
-                      || TREE_CODE (head) == REAL_TYPE
-                      || TREE_CODE (head) == FIXED_POINT_TYPE))
-           TB_SET_HEAD (TYPE_MIN_VALUE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ELT:
-         if (head && TREE_CODE (head) == TREE_VEC)
-           {
-             /* This command takes another argument: the element number:
-                for example "elt 1".  */
-             TB_NIY;
-           }
-         else if (head && TREE_CODE (head) == VECTOR_CST)
-           {
-             /* This command takes another argument: the element number:
-                 for example "elt 1".  */
-              TB_NIY;
-           }
-         else
-           TB_WF;
-         break;
-
-       case TB_VALUE:
-         if (head && TREE_CODE (head) == TREE_LIST)
-           TB_SET_HEAD (TREE_VALUE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_PURPOSE:
-         if (head && TREE_CODE (head) == TREE_LIST)
-           TB_SET_HEAD (TREE_PURPOSE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_IMAG:
-         if (head && TREE_CODE (head) == COMPLEX_CST)
-           TB_SET_HEAD (TREE_IMAGPART (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_REAL:
-         if (head && TREE_CODE (head) == COMPLEX_CST)
-           TB_SET_HEAD (TREE_REALPART (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_BLOCK:
-         if (head && TREE_CODE (head) == BIND_EXPR)
-           TB_SET_HEAD (TREE_OPERAND (head, 2));
-         else
-           TB_WF;
-         break;
-
-       case TB_SUBBLOCKS:
-         if (head && TREE_CODE (head) == BLOCK)
-           TB_SET_HEAD (BLOCK_SUBBLOCKS (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_SUPERCONTEXT:
-         if (head && TREE_CODE (head) == BLOCK)
-           TB_SET_HEAD (BLOCK_SUPERCONTEXT (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_VARS:
-         if (head && TREE_CODE (head) == BLOCK)
-           TB_SET_HEAD (BLOCK_VARS (head));
-         else if (head && TREE_CODE (head) == BIND_EXPR)
-           TB_SET_HEAD (TREE_OPERAND (head, 0));
-         else
-           TB_WF;
-         break;
-
-       case TB_REFERENCE_TO_THIS:
-         if (head && TYPE_P (head))
-           TB_SET_HEAD (TYPE_REFERENCE_TO (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_POINTER_TO_THIS:
-         if (head && TYPE_P (head))
-           TB_SET_HEAD (TYPE_POINTER_TO (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_BASETYPE:
-         if (head && TREE_CODE (head) == OFFSET_TYPE)
-           TB_SET_HEAD (TYPE_OFFSET_BASETYPE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ARG_TYPES:
-         if (head && (TREE_CODE (head) == FUNCTION_TYPE
-                      || TREE_CODE (head) == METHOD_TYPE))
-           TB_SET_HEAD (TYPE_ARG_TYPES (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_METHOD_BASE_TYPE:
-         if (head && (TREE_CODE (head) == FUNCTION_TYPE
-                      || TREE_CODE (head) == METHOD_TYPE)
-             && TYPE_METHOD_BASETYPE (head))
-           TB_SET_HEAD (TYPE_METHOD_BASETYPE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_FIELDS:
-         if (head && (TREE_CODE (head) == RECORD_TYPE
-                      || TREE_CODE (head) == UNION_TYPE
-                      || TREE_CODE (head) == QUAL_UNION_TYPE))
-           TB_SET_HEAD (TYPE_FIELDS (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_DOMAIN:
-         if (head && TREE_CODE (head) == ARRAY_TYPE)
-           TB_SET_HEAD (TYPE_DOMAIN (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_VALUES:
-         if (head && TREE_CODE (head) == ENUMERAL_TYPE)
-           TB_SET_HEAD (TYPE_VALUES (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ARG_TYPE:
-         if (head && TREE_CODE (head) == PARM_DECL)
-           TB_SET_HEAD (DECL_ARG_TYPE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_INITIAL:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_INITIAL (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_RESULT:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_RESULT_FLD (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ARGUMENTS:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_ARGUMENTS (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ABSTRACT_ORIGIN:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_ABSTRACT_ORIGIN (head));
-         else if (head && TREE_CODE (head) == BLOCK)
-           TB_SET_HEAD (BLOCK_ABSTRACT_ORIGIN (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_ATTRIBUTES:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_ATTRIBUTES (head));
-         else if (head && TYPE_P (head))
-           TB_SET_HEAD (TYPE_ATTRIBUTES (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_CONTEXT:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_CONTEXT (head));
-         else if (head && TYPE_P (head)
-                  && TYPE_CONTEXT (head))
-           TB_SET_HEAD (TYPE_CONTEXT (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_OFFSET:
-         if (head && TREE_CODE (head) == FIELD_DECL)
-           TB_SET_HEAD (DECL_FIELD_OFFSET (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_BIT_OFFSET:
-         if (head && TREE_CODE (head) == FIELD_DECL)
-           TB_SET_HEAD (DECL_FIELD_BIT_OFFSET (head));
-         else
-           TB_WF;
-          break;
-
-       case TB_UNIT_SIZE:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_SIZE_UNIT (head));
-         else if (head && TYPE_P (head))
-           TB_SET_HEAD (TYPE_SIZE_UNIT (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_SIZE:
-         if (head && DECL_P (head))
-           TB_SET_HEAD (DECL_SIZE (head));
-         else if (head && TYPE_P (head))
-           TB_SET_HEAD (TYPE_SIZE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_TYPE:
-         if (head && TREE_TYPE (head))
-           TB_SET_HEAD (TREE_TYPE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_DECL_SAVED_TREE:
-         if (head && TREE_CODE (head) == FUNCTION_DECL
-             && DECL_SAVED_TREE (head))
-           TB_SET_HEAD (DECL_SAVED_TREE (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_BODY:
-         if (head && TREE_CODE (head) == BIND_EXPR)
-           TB_SET_HEAD (TREE_OPERAND (head, 1));
-         else
-           TB_WF;
-         break;
-
-       case TB_CHILD_0:
-         if (head && EXPR_P (head) && TREE_OPERAND (head, 0))
-           TB_SET_HEAD (TREE_OPERAND (head, 0));
-         else
-           TB_WF;
-         break;
-
-       case TB_CHILD_1:
-          if (head && EXPR_P (head) && TREE_OPERAND (head, 1))
-           TB_SET_HEAD (TREE_OPERAND (head, 1));
-         else
-           TB_WF;
-          break;
-
-       case TB_CHILD_2:
-          if (head && EXPR_P (head) && TREE_OPERAND (head, 2))
-           TB_SET_HEAD (TREE_OPERAND (head, 2));
-         else
-           TB_WF;
-         break;
-
-       case TB_CHILD_3:
-         if (head && EXPR_P (head) && TREE_OPERAND (head, 3))
-           TB_SET_HEAD (TREE_OPERAND (head, 3));
-         else
-           TB_WF;
-          break;
-
-       case TB_PRINT:
-         if (head)
-           debug_tree (head);
-         else
-           TB_WF;
-         break;
-
-       case TB_PRETTY_PRINT:
-         if (head)
-           {
-             print_generic_stmt (TB_OUT_FILE, head, 0);
-             fprintf (TB_OUT_FILE, "\n");
-           }
-         else
-           TB_WF;
-         break;
-
-       case TB_SEARCH_NAME:
-
-         break;
-
-       case TB_SEARCH_CODE:
-         {
-           enum tree_code code;
-           char *arg_text;
-
-           arg_text = strchr (input, ' ');
-           if (arg_text == NULL)
-             {
-               fprintf (TB_OUT_FILE, "First argument is missing.  This isn't a valid search command.  \n");
-               break;
-             }
-           code = TB_get_tree_code (arg_text + 1);
-
-           /* Search in the subtree a node with the given code.  */
-           {
-             tree res;
-
-             res = walk_tree (&head, find_node_with_code, &code, NULL);
-             if (res == NULL_TREE)
-               {
-                 fprintf (TB_OUT_FILE, "There's no node with this code (reachable via the walk_tree function from this node).\n");
-               }
-             else
-               {
-                 fprintf (TB_OUT_FILE, "Achoo!  I got this node in the tree.\n");
-                 TB_SET_HEAD (res);
-               }
-           }
-           break;
-         }
-
-#define TB_MOVE_HEAD(FCT) do {       \
-  if (head)                          \
-    {                                \
-      tree t;                        \
-      t = FCT (head);                \
-      if (t)                         \
-        TB_SET_HEAD (t);             \
-      else                           \
-       TB_WF;                       \
-    }                                \
-  else                               \
-    TB_WF;                           \
-} while (0)
-
-       case TB_FIRST:
-         TB_MOVE_HEAD (TB_first_in_bind);
-          break;
-
-        case TB_LAST:
-          TB_MOVE_HEAD (TB_last_in_bind);
-          break;
-
-       case TB_UP:
-         TB_MOVE_HEAD (TB_up_expr);
-         break;
-
-       case TB_PREV:
-         TB_MOVE_HEAD (TB_prev_expr);
-         break;
-
-       case TB_NEXT:
-         TB_MOVE_HEAD (TB_next_expr);
-         break;
-
-       case TB_HPREV:
-         /* This command is a little bit special, since it deals with history
-            stack.  For this reason it should keep the "head = ..." statement
-            and not use TB_MOVE_HEAD.  */
-         if (head)
-           {
-             tree t;
-             t = TB_history_prev ();
-             if (t)
-               {
-                 head = t;
-                 if (TB_verbose)
-                   {
-                     print_generic_expr (TB_OUT_FILE, head, 0);
-                     fprintf (TB_OUT_FILE, "\n");
-                   }
-               }
-             else
-               TB_WF;
-           }
-         else
-           TB_WF;
-         break;
-
-       case TB_CHAIN:
-         /* Don't go further if it's the last node in this chain.  */
-         if (head && TREE_CODE (head) == BLOCK)
-           TB_SET_HEAD (BLOCK_CHAIN (head));
-         else if (head && TREE_CHAIN (head))
-           TB_SET_HEAD (TREE_CHAIN (head));
-         else
-           TB_WF;
-         break;
-
-       case TB_FUN:
-         /* Go up to the current function declaration.  */
-         TB_SET_HEAD (current_function_decl);
-         fprintf (TB_OUT_FILE, "Current function declaration.\n");
-         break;
-
-       case TB_HELP:
-         /* Display a help message.  */
-         {
-           int i;
-           fprintf (TB_OUT_FILE, "Possible commands are:\n\n");
-           for (i = 0; i < TB_UNUSED_COMMAND; i++)
-             {
-               fprintf (TB_OUT_FILE, "%20s  -  %s\n", TB_COMMAND_TEXT (i), TB_COMMAND_HELP (i));
-             }
-         }
-         break;
-
-       case TB_VERBOSE:
-         if (TB_verbose == 0)
-           {
-             TB_verbose = 1;
-             fprintf (TB_OUT_FILE, "Verbose on.\n");
-           }
-         else
-           {
-             TB_verbose = 0;
-             fprintf (TB_OUT_FILE, "Verbose off.\n");
-           }
-         break;
-
-       case TB_EXIT:
-       case TB_QUIT:
-         /* Just exit from this function.  */
-         goto ret;
-
-       default:
-         TB_NIY;
-       }
-    }
-
- ret:;
-  delete TB_up_ht;
-  TB_up_ht = NULL;
-  return;
-}
-
-
-/* Search the first node in this BIND_EXPR.  */
-
-static tree
-TB_first_in_bind (tree node)
-{
-  tree t;
-
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  while ((t = TB_prev_expr (node)))
-    node = t;
-
-  return node;
-}
-
-/* Search the last node in this BIND_EXPR.  */
-
-static tree
-TB_last_in_bind (tree node)
-{
-  tree t;
-
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  while ((t = TB_next_expr (node)))
-    node = t;
-
-  return node;
-}
-
-/* Search the parent expression for this node.  */
-
-static tree
-TB_up_expr (tree node)
-{
-  tree res;
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  res = TB_up_ht->find (node);
-  return res;
-}
-
-/* Search the previous expression in this BIND_EXPR.  */
-
-static tree
-TB_prev_expr (tree node)
-{
-  node = TB_current_chain_node (node);
-
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  node = TB_up_expr (node);
-  if (node && TREE_CODE (node) == COMPOUND_EXPR)
-    return node;
-  else
-    return NULL_TREE;
-}
-
-/* Search the next expression in this BIND_EXPR.  */
-
-static tree
-TB_next_expr (tree node)
-{
-  node = TB_current_chain_node (node);
-
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  node = TREE_OPERAND (node, 1);
-  return node;
-}
-
-static tree
-TB_current_chain_node (tree node)
-{
-  if (node == NULL_TREE)
-    return NULL_TREE;
-
-  if (TREE_CODE (node) == COMPOUND_EXPR)
-    return node;
-
-  node = TB_up_expr (node);
-  if (node)
-    {
-      if (TREE_CODE (node) == COMPOUND_EXPR)
-       return node;
-
-      node = TB_up_expr (node);
-      if (TREE_CODE (node) == COMPOUND_EXPR)
-       return node;
-    }
-
-  return NULL_TREE;
-}
-
-/* For each node store in its children nodes that the current node is their
-   parent.  This function is used by walk_tree.  */
-
-static tree
-store_child_info (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
-                 void *data ATTRIBUTE_UNUSED)
-{
-  tree node;
-  tree_node **slot;
-
-  node = *tp;
-
-  /* 'node' is the parent of 'TREE_OPERAND (node, *)'.  */
-  if (EXPR_P (node))
-    {
-      int n = TREE_OPERAND_LENGTH (node);
-      int i;
-      for (i = 0; i < n; i++)
-       {
-         tree op = TREE_OPERAND (node, i);
-         slot = TB_up_ht->find_slot (op, INSERT);
-         *slot = node;
-       }
-    }
-
-  /* Never stop walk_tree.  */
-  return NULL_TREE;
-}
-
-/* Update information about upper expressions in the hash table.  */
-
-static void
-TB_update_up (tree node)
-{
-  while (node)
-    {
-      walk_tree (&node, store_child_info, NULL, NULL);
-
-      /* Walk function's body.  */
-      if (TREE_CODE (node) == FUNCTION_DECL)
-        if (DECL_SAVED_TREE (node))
-          walk_tree (&DECL_SAVED_TREE (node), store_child_info, NULL, NULL);
-
-      /* Walk rest of the chain.  */
-      node = TREE_CHAIN (node);
-    }
-  fprintf (TB_OUT_FILE, "Up/prev expressions updated.\n");
-}
-
-/* Parse the input string for determining the command the user asked for.  */
-
-static TB_CODE
-TB_get_command (char *input)
-{
-  unsigned int mn, size_tok;
-  int comp;
-  char *space;
-
-  space = strchr (input, ' ');
-  if (space != NULL)
-    size_tok = strlen (input) - strlen (space);
-  else
-    size_tok = strlen (input) - 1;
-
-  for (mn = 0; mn < TB_UNUSED_COMMAND; mn++)
-    {
-      if (size_tok != TB_COMMAND_LEN (mn))
-       continue;
-
-      comp = memcmp (input, TB_COMMAND_TEXT (mn), TB_COMMAND_LEN (mn));
-      if (comp == 0)
-       /* Here we just determined the command.  If this command takes
-          an argument, then the argument is determined later.  */
-       return TB_COMMAND_CODE (mn);
-    }
-
-  /* Not a valid command.  */
-  return TB_UNUSED_COMMAND;
-}
-
-/* Parse the input string for determining the tree code.  */
-
-static enum tree_code
-TB_get_tree_code (char *input)
-{
-  unsigned int mn, size_tok;
-  int comp;
-  char *space;
-
-  space = strchr (input, ' ');
-  if (space != NULL)
-    size_tok = strlen (input) - strlen (space);
-  else
-    size_tok = strlen (input) - 1;
-
-  for (mn = 0; mn < LAST_AND_UNUSED_TREE_CODE; mn++)
-    {
-      if (size_tok != TB_TREE_CODE_LEN (mn))
-       continue;
-
-      comp = memcmp (input, TB_TREE_CODE_TEXT (mn), TB_TREE_CODE_LEN (mn));
-      if (comp == 0)
-       {
-         fprintf (TB_OUT_FILE, "%s\n", TB_TREE_CODE_TEXT (mn));
-         return TB_TREE_CODE (mn);
-       }
-    }
-
-  /* This isn't a valid code.  */
-  return LAST_AND_UNUSED_TREE_CODE;
-}
-
-/* Find a node with a given code.  This function is used as an argument to
-   walk_tree.  */
-
-static tree
-find_node_with_code (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
-                    void *data)
-{
-  enum tree_code *code;
-  code = (enum tree_code *) data;
-  if (*code == TREE_CODE (*tp))
-    return *tp;
-
-  return NULL_TREE;
-}
-
-/* Returns a pointer to the last visited node.  */
-
-static tree
-TB_history_prev (void)
-{
-  if (!vec_safe_is_empty (TB_history_stack))
-    {
-      tree last = TB_history_stack->last ();
-      TB_history_stack->pop ();
-      return last;
-    }
-  return NULL_TREE;
-}
-
-/* Read up to (and including) a '\n' from STREAM into *LINEPTR
-   (and null-terminate it). *LINEPTR is a pointer returned from malloc
-   (or NULL), pointing to *N characters of space.  It is realloc'd as
-   necessary.  Returns the number of characters read (not including the
-   null terminator), or -1 on error or EOF.
-   This function comes from sed (and is supposed to be a portable version
-   of getline).  */
-
-static long
-TB_getline (char **lineptr, long *n, FILE *stream)
-{
-  char *line, *p;
-  long size, copy;
-
-  if (lineptr == NULL || n == NULL)
-    {
-      errno = EINVAL;
-      return -1;
-    }
-
-  if (ferror (stream))
-    return -1;
-
-  /* Make sure we have a line buffer to start with.  */
-  if (*lineptr == NULL || *n < 2) /* !seen and no buf yet need 2 chars.  */
-    {
-#ifndef MAX_CANON
-#define MAX_CANON       256
-#endif
-      line = (char *) xrealloc (*lineptr, MAX_CANON);
-      if (line == NULL)
-        return -1;
-      *lineptr = line;
-      *n = MAX_CANON;
-    }
-
-  line = *lineptr;
-  size = *n;
-
-  copy = size;
-  p = line;
-
-  while (1)
-    {
-      long len;
-
-      while (--copy > 0)
-        {
-          register int c = getc (stream);
-          if (c == EOF)
-            goto lose;
-          else if ((*p++ = c) == '\n')
-            goto win;
-        }
-
-      /* Need to enlarge the line buffer.  */
-      len = p - line;
-      size *= 2;
-      line = (char *) xrealloc (line, size);
-      if (line == NULL)
-        goto lose;
-      *lineptr = line;
-      *n = size;
-      p = line + len;
-      copy = size - len;
-    }
-
- lose:
-  if (p == *lineptr)
-    return -1;
-
-  /* Return a partial line since we got an error in the middle.  */
- win:
-#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS)
-  if (p - 2 >= *lineptr && p[-2] == '\r')
-    p[-2] = p[-1], --p;
-#endif
-  *p = '\0';
-  return p - *lineptr;
-}
diff --git a/gcc/tree-browser.def b/gcc/tree-browser.def
deleted file mode 100644 (file)
index c193939..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Definitions and documentation for the codes used by the Tree Browser.
-   Copyright (C) 2002-2015 Free Software Foundation, Inc.
-   Contributed by Sebastian Pop <s.pop@laposte.net>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* First field in the following declarations is the code of the command
-   used by the tree browser.
-   Second field is what is parsed in order to recognize a command.
-   Third field is used for printing the help message.  */
-
-
-/* Misc. commands.  */
-DEFTBCODE (TB_EXIT,            "x",    "Exits tree-browser.")
-DEFTBCODE (TB_QUIT,             "q",    "Exits tree-browser.")
-DEFTBCODE (TB_HELP,            "h",    "Prints this help message.")
-DEFTBCODE (TB_UPDATE_UP,        "update", "Update information about parent expressions.")
-DEFTBCODE (TB_VERBOSE,          "verbose", "Sets/unsets verbose mode (default is on).")
-
-/* Walking commands.  */
-DEFTBCODE (TB_FUN,             "fun",  "Go to the current function declaration.")
-DEFTBCODE (TB_NEXT,            "nx",   "Go to the next expression in a BIND_EXPR.")
-DEFTBCODE (TB_PREV,            "pr",   "Go to the previous expression in a BIND_EXPR.")
-DEFTBCODE (TB_UP,              "up",   "Go to the parent tree node.")
-DEFTBCODE (TB_LAST,             "last", "Go to the last expression in a BIND_EXPR.")
-DEFTBCODE (TB_FIRST,            "first","Go to the first expression in a BIND_EXPR.")
-DEFTBCODE (TB_HPREV,            "hpr",  "Go to the previous visited node (history previous).")
-
-/* Fields accessors.  */
-DEFTBCODE (TB_CHILD_0,          "arg0",  "Child 0.")
-DEFTBCODE (TB_CHILD_1,          "arg1",  "Child 1.")
-DEFTBCODE (TB_CHILD_2,          "arg2",  "Child 2.")
-DEFTBCODE (TB_CHILD_3,          "arg3",  "Child 3.")
-DEFTBCODE (TB_DECL_SAVED_TREE,  "decl_saved_tree", "Body of a function.")
-DEFTBCODE (TB_TYPE,             "type", "Field accessor.")
-DEFTBCODE (TB_SIZE,             "size", "Field accessor.")
-DEFTBCODE (TB_UNIT_SIZE,        "unit_size", "Field accessor.")
-DEFTBCODE (TB_OFFSET,           "offset", "Field accessor.")
-DEFTBCODE (TB_BIT_OFFSET,       "bit_offset", "Field accessor.")
-DEFTBCODE (TB_CONTEXT,          "context", "Field accessor.")
-DEFTBCODE (TB_ATTRIBUTES,       "attributes", "Field accessor.")
-DEFTBCODE (TB_ABSTRACT_ORIGIN,  "abstract_origin", "Field accessor.")
-DEFTBCODE (TB_ARGUMENTS,        "arguments", "Field accessor.")
-DEFTBCODE (TB_RESULT,           "result", "Field accessor.")
-DEFTBCODE (TB_INITIAL,          "initial", "Field accessor.")
-DEFTBCODE (TB_ARG_TYPE,         "arg-type", "Field accessor.")
-DEFTBCODE (TB_ARG_TYPE_AS_WRITTEN, "arg-type-as-written", "Field accessor.")
-DEFTBCODE (TB_CHAIN,            "chain", "Field accessor.")
-DEFTBCODE (TB_VALUES,           "values", "Field accessor.")
-DEFTBCODE (TB_DOMAIN,           "domain", "Field accessor.")
-DEFTBCODE (TB_METHOD_BASE_TYPE, "method_basetype", "Field accessor.")
-DEFTBCODE (TB_FIELDS,           "fields", "Field accessor.")
-DEFTBCODE (TB_ARG_TYPES,        "arg-types", "Field accessor.")
-DEFTBCODE (TB_BASETYPE,         "basetype", "Field accessor.")
-DEFTBCODE (TB_POINTER_TO_THIS,  "pointer_to_this", "Field accessor.")
-DEFTBCODE (TB_REFERENCE_TO_THIS,"reference_to_this", "Field accessor.")
-DEFTBCODE (TB_VARS,             "vars", "Field accessor.")
-DEFTBCODE (TB_SUPERCONTEXT,     "supercontext", "Field accessor.")
-DEFTBCODE (TB_BODY,             "body", "Field accessor.")
-DEFTBCODE (TB_SUBBLOCKS,        "subblocks", "Field accessor.")
-DEFTBCODE (TB_BLOCK,            "block", "Field accessor.")
-DEFTBCODE (TB_REAL,             "real", "Field accessor.")
-DEFTBCODE (TB_IMAG,             "imag", "Field accessor.")
-DEFTBCODE (TB_PURPOSE,          "purpose", "Field accessor.")
-DEFTBCODE (TB_VALUE,            "value", "Field accessor.")
-DEFTBCODE (TB_ELT,              "elt", "Field accessor.")
-DEFTBCODE (TB_MIN,              "min", "Field accessor.")
-DEFTBCODE (TB_MAX,              "max", "Field accessor.")
-
-/* Searching commands.  */
-DEFTBCODE (TB_SEARCH_CODE,     "sc",   "Search a node having a TREE_CODE given as a parameter.")
-DEFTBCODE (TB_SEARCH_NAME,     "sn",   "Search an identifier having a name given as a parameter.")
-
-/* Printing commands.  */
-DEFTBCODE (TB_PRETTY_PRINT,     "pp",   "Pretty print current node.")
-DEFTBCODE (TB_PRINT,            "p",    "Prints the current node.")
-
-
-/*
-Local variables:
-mode:c
-End:
-*/