tree.def (documentation): Remove mention of class 'b'.
authorZack Weinberg <zack@gcc.gnu.org>
Fri, 14 May 2004 02:33:00 +0000 (02:33 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Fri, 14 May 2004 02:33:00 +0000 (02:33 +0000)
* tree.def (documentation): Remove mention of class 'b'.
(BLOCK): Now in class 'x'.
* c-common.c (verify_tree): Remove case 'b'.
* c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
* calls.c (calls_function_1): Control cannot get past the switch
when exp is a BLOCK.
* print-tree.c (print_node): Move code for class 'b' to the class
'c'/'x' switch, as case BLOCK.
* tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
(unsafe_for_reeval, substitute_placeholder_in_expr)
(stabilize_reference_1): Remove case 'b'.
* tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
of something being 'b' to tests for TREE_CODE of something being
BLOCK.
* tree-ssa-operands.c (get_expr_operands): Likewise.
ada:
* trans.c (gnat_stabilize_reference_1): Remove case 'b'.

From-SVN: r81831

gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/trans.c
gcc/c-common.c
gcc/c-typeck.c
gcc/calls.c
gcc/print-tree.c
gcc/tree-browser.c
gcc/tree-ssa-operands.c
gcc/tree.c
gcc/tree.def

index 433d599a6cdd493c68c6abd3debe274ce6265525..ec71bb6eb7101dc8d3393fcb4168f400962fd97a 100644 (file)
@@ -1,3 +1,21 @@
+2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.def (documentation): Remove mention of class 'b'.
+       (BLOCK): Now in class 'x'.
+       * c-common.c (verify_tree): Remove case 'b'.
+       * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
+       * calls.c (calls_function_1): Control cannot get past the switch
+       when exp is a BLOCK.
+       * print-tree.c (print_node): Move code for class 'b' to the class
+       'c'/'x' switch, as case BLOCK.
+       * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
+       (unsafe_for_reeval, substitute_placeholder_in_expr)
+       (stabilize_reference_1): Remove case 'b'.
+       * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
+       of something being 'b' to tests for TREE_CODE of something being
+       BLOCK.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+
 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-gimple.c: Rename from tree-simple.c.
        * simplify-rtx.c (simplify_rtx): Do not handle
        CONSTANT_P_RTX.
        * stmt.c (parse_output_constraint): Don't warn for read-write
-        memory operand.
+       memory operand.
        (tail_recursion_args): Use types_compatible_p langhook.
        (force_label_rtx): Don't look at inline_function_decl.
        (label_rtx): Set LABEL_PRESERVE_P appropriately.
 2004-05-12  Paolo Bonzini  <bonzini@gnu.org>
 
        Replace several arrays with a struct of arrays.
-        * combine.c (struct reg_stat): New.
-        (init_reg_last_arrays): Renamed to...
-        (init_reg_last): ...this.  Callers adjusted.
-        (reg_stat): New.
-        (combine_instructions): Allocate it and use it.
-        (reg_last_death, reg_last_set, reg_last_set_value,
-        reg_last_set_label, reg_last_set_table_tick,
-        reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
-        reg_last_set_mode, reg_last_set_nonzero_bits,
-        reg_last_set_sign_bit_copies): Replace throughout
-        with items of reg_stat.
+       * combine.c (struct reg_stat): New.
+       (init_reg_last_arrays): Renamed to...
+       (init_reg_last): ...this.  Callers adjusted.
+       (reg_stat): New.
+       (combine_instructions): Allocate it and use it.
+       (reg_last_death, reg_last_set, reg_last_set_value,
+       reg_last_set_label, reg_last_set_table_tick,
+       reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
+       reg_last_set_mode, reg_last_set_nonzero_bits,
+       reg_last_set_sign_bit_copies): Replace throughout
+       with items of reg_stat.
 
 2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
 
index 3a057fab8f5cd9d993cb1ddca0fe5a600e564474..4ae1cfda6e76d27168c68042ef883a9cbeca5fde 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
 
        Merge from tree-ssa-20020619-branch.
 
        * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
 
-       * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb, 
+       * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
        exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
        Stand.Boolean_Literals to produce references to entities
        Standard_False and Standard_True from compile-time computed boolean
 
 2004-04-23  Laurent GUERBY <laurent@guerby.net>
 
-       * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after 
+       * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
        install.
-       
+
 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
        * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
        * s-addope.ads, s-addope.adb: New files.
 
-       * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, 
-       s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, 
+       * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+       s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
        s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
        System.Address to be non-private and signed.
 
 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
-        (tree_transform, case N_If_Statement): Remove non-determinism.
+       (tree_transform, case N_If_Statement): Remove non-determinism.
 
        * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
 
 
        * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
 
-       * sinfo.ads, sinfo.adb: 
+       * sinfo.ads, sinfo.adb:
        New field Access_To_Subprogram_Definition in Access_Definition nodes
 
        * sem_ch6.adb (Process_Formals): Move here the code that creates and
 
        PR ada/14988 (partial)
        * impunit.adb: Fix typo.
-       
+
 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
        duplication between normal entities and those declared as renamings.
        No functional change.
 
-       * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently     
+       * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
        inline functions returning an unconstrained result.
 
 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
 
 2004-03-19  Laurent Guerby <laurent@guerby.net>
 
-       * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of 
+       * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
        aggregate, allows bootstrap from 3.3 on powerpc-darwin.
-       
+
 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
 
        * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
        i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
-       5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb, 
+       5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
        5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
        unchecked conversion to spec to avoid warnings.
 
 
        PR ada/6637, PR ada/5911
        Merge with libada-branch:
-        * config-lang.in: Build libada only when ada is built.
+       * config-lang.in: Build libada only when ada is built.
 
 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
 
 
 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
 
-       * sem_prag.adb: 
+       * sem_prag.adb:
        (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
         body, an identifier may be wrapped in an unchecked conversion.
 
 
 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
 
-       * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir). 
+       * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
        (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
        (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
 
        (Wakeup): Likewise.
        (Exit_Task): Use Result.
        (Check_No_Locks): Mark Self_ID unreferenced.
-       
+
        * 5gtasinf.adb (New_Sproc): Make Attr constant.
        (Bound_Thread_Attributes): Make Sproc constant.
        (New_Bound_Thread_Attributes): Likewise.
index 841d5c8e629f783f986e0d327165fec8ed56a989..117a95360dccf9da6029ed3bbf709e36f87fc7ff 100644 (file)
@@ -5431,7 +5431,6 @@ gnat_stabilize_reference_1 (tree e, int force)
     case 'x':
     case 't':
     case 'd':
-    case 'b':
     case '<':
     case 's':
     case 'e':
index 9b7206a94c7421ea9d35439d9146396b6c79e0c5..11b4b875d2c2a99086b406853658c9a3f09e2138 100644 (file)
@@ -1692,7 +1692,6 @@ verify_tree (tree x, struct tlist **pbefore_sp, struct tlist **pno_sp,
     case 'r':
     case '<':
     case '2':
-    case 'b':
     case 'e':
     case 's':
     case 'x':
index 14270b971cabd5c6abd9b915a383ab7d9e419717..6305cc4fb0abcf0aeb16af92c10022f37f4f5b89 100644 (file)
@@ -640,7 +640,7 @@ same_translation_unit_p (tree t1, tree t2)
       {
       case 'd': t1 = DECL_CONTEXT (t1); break;
       case 't': t1 = TYPE_CONTEXT (t1); break;
-      case 'b': t1 = BLOCK_SUPERCONTEXT (t1); break;
+      case 'x': t1 = BLOCK_SUPERCONTEXT (t1); break;  /* assume block */
       default: abort ();
       }
 
@@ -649,7 +649,7 @@ same_translation_unit_p (tree t1, tree t2)
       {
       case 'd': t2 = DECL_CONTEXT (t2); break;
       case 't': t2 = TYPE_CONTEXT (t2); break;
-      case 'b': t2 = BLOCK_SUPERCONTEXT (t2); break;
+      case 'x': t2 = BLOCK_SUPERCONTEXT (t2); break;  /* assume block */
       default: abort ();
       }
 
index e15a96b9c3749c3b9d7c95e39f2f7e87b1d9614f..35021ea137fae1cbd26ced7b9748f2b64925217a 100644 (file)
@@ -259,8 +259,9 @@ calls_function_1 (tree exp, int which)
       break;
     }
 
-  /* Only expressions and blocks can contain calls.  */
-  if (! IS_EXPR_CODE_CLASS (class) && class != 'b')
+  /* Only expressions and blocks can contain calls.
+     Blocks were handled above.  */
+  if (! IS_EXPR_CODE_CLASS (class))
     return 0;
 
   for (i = 0; i < length; i++)
index fd90b181f4636b19c5e8a395f26f95c42151fc74..1d8ca9618317360479baac0eb18a5be3bf1e72a1 100644 (file)
@@ -569,15 +569,6 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
       print_node_brief (file, "chain", TREE_CHAIN (node), indent + 4);
       break;
 
-    case 'b':
-      print_node (file, "vars", BLOCK_VARS (node), indent + 4);
-      print_node (file, "supercontext", BLOCK_SUPERCONTEXT (node), indent + 4);
-      print_node (file, "subblocks", BLOCK_SUBBLOCKS (node), indent + 4);
-      print_node (file, "chain", BLOCK_CHAIN (node), indent + 4);
-      print_node (file, "abstract_origin",
-                 BLOCK_ABSTRACT_ORIGIN (node), indent + 4);
-      break;
-
     case 'e':
     case '<':
     case '1':
@@ -733,6 +724,16 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
              }
          break;
 
+       case BLOCK:
+         print_node (file, "vars", BLOCK_VARS (node), indent + 4);
+         print_node (file, "supercontext", BLOCK_SUPERCONTEXT (node),
+                     indent + 4);
+         print_node (file, "subblocks", BLOCK_SUBBLOCKS (node), indent + 4);
+         print_node (file, "chain", BLOCK_CHAIN (node), indent + 4);
+         print_node (file, "abstract_origin",
+                     BLOCK_ABSTRACT_ORIGIN (node), indent + 4);
+         break;
+
        default:
          if (TREE_CODE_CLASS (TREE_CODE (node)) == 'x')
            lang_hooks.print_xnode (file, node, indent);
index f7c6136c51ff123108894417d9753e37c84841e3..891c761e25e82fef8ce4500450f195cfbf1c38c4 100644 (file)
@@ -239,21 +239,21 @@ browse_tree (tree begin)
          break;
 
        case TB_SUBBLOCKS:
-         if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'b')
+         if (head && TREE_CODE (head) == BLOCK)
            TB_SET_HEAD (BLOCK_SUBBLOCKS (head));
          else
            TB_WF;
          break;
 
        case TB_SUPERCONTEXT:
-         if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'b')
+         if (head && TREE_CODE (head) == BLOCK)
            TB_SET_HEAD (BLOCK_SUPERCONTEXT (head));
          else
            TB_WF;
          break;
 
        case TB_VARS:
-         if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'b')
+         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));
@@ -361,7 +361,7 @@ browse_tree (tree begin)
        case TB_ABSTRACT_ORIGIN:
          if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'd')
            TB_SET_HEAD (DECL_ABSTRACT_ORIGIN (head));
-         else if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'b')
+         else if (head && TREE_CODE (head) == BLOCK)
            TB_SET_HEAD (BLOCK_ABSTRACT_ORIGIN (head));
          else
            TB_WF;
@@ -584,7 +584,7 @@ browse_tree (tree begin)
 
        case TB_CHAIN:
          /* Don't go further if it's the last node in this chain.  */
-         if (head && TREE_CODE_CLASS (TREE_CODE (head)) == 'b')
+         if (head && TREE_CODE (head) == BLOCK)
            TB_SET_HEAD (BLOCK_CHAIN (head));
          else if (head && TREE_CHAIN (head))
            TB_SET_HEAD (TREE_CHAIN (head));
index a399e1d2ec92d7bc4c71605fd0d6d5a3612dc121..de5b16d1fd4d92a261dcd472305600f188f97c79 100644 (file)
@@ -824,7 +824,7 @@ get_expr_operands (tree stmt, tree *expr_p, int flags, voperands_t prev_vops)
   /* Expressions that make no memory references.  */
   if (class == 'c'
       || class == 't'
-      || class == 'b'
+      || code == BLOCK
       || code == FUNCTION_DECL
       || code == EXC_PTR_EXPR
       || code == FILTER_EXPR
index 33c696ef166b1e48fa4691ed39a69f520e5670aa..791cc221349f73c3dabc7ac1251c8d08a3cc3881 100644 (file)
@@ -155,9 +155,6 @@ tree_size (tree node)
     case 't':  /* a type node */
       return sizeof (struct tree_type);
 
-    case 'b':  /* a lexical block node */
-      return sizeof (struct tree_block);
-
     case 'r':  /* a reference */
     case 'e':  /* an expression */
     case 's':  /* an expression with side effects */
@@ -206,6 +203,7 @@ tree_size (tree node)
        case EEXIT_NODE:        return sizeof (struct tree_eref_common);
 
        case STATEMENT_LIST:    return sizeof (struct tree_statement_list);
+       case BLOCK:             return sizeof (struct tree_block);
 
        default:
          return lang_hooks.tree_size (code);
@@ -252,10 +250,6 @@ make_node_stat (enum tree_code code MEM_STAT_DECL)
       kind = t_kind;
       break;
 
-    case 'b':  /* a lexical block */
-      kind = b_kind;
-      break;
-
     case 's':  /* an expression with side effects */
       kind = s_kind;
       break;
@@ -284,6 +278,8 @@ make_node_stat (enum tree_code code MEM_STAT_DECL)
        kind = phi_kind;
       else if (code == SSA_NAME)
        kind = ssa_name_kind;
+      else if (code == BLOCK)
+       kind = b_kind;
       else
        kind = x_kind;
       break;
@@ -1494,7 +1490,6 @@ tree_node_structure (tree t)
     {
     case 'd':  return TS_DECL;
     case 't':  return TS_TYPE;
-    case 'b':  return TS_BLOCK;
     case 'r': case '<': case '1': case '2': case 'e': case 's':
       return TS_EXP;
     default:  /* 'c' and 'x' */
@@ -1521,6 +1516,7 @@ tree_node_structure (tree t)
     case SSA_NAME:             return TS_SSA_NAME;
     case PLACEHOLDER_EXPR:     return TS_COMMON;
     case STATEMENT_LIST:       return TS_STATEMENT_LIST;
+    case BLOCK:                        return TS_BLOCK;
 
     default:
       abort ();
@@ -1646,7 +1642,6 @@ unsafe_for_reeval (tree expr)
     case 't':  /* a type node */
     case 'x':  /* something random, like an identifier or an ERROR_MARK.  */
     case 'd':  /* A decl node */
-    case 'b':  /* A block node */
       return 0;
 
     case 'e':  /* an expression */
@@ -2078,7 +2073,6 @@ substitute_placeholder_in_expr (tree exp, tree obj)
       {
       case 'c':
       case 'd':
-      case 'b':
        return exp;
 
       case 'x':
@@ -2267,7 +2261,6 @@ stabilize_reference_1 (tree e)
     case 'x':
     case 't':
     case 'd':
-    case 'b':
     case '<':
     case 's':
     case 'e':
index ca9cf9f18b0287ccbc75503f7cb63deba978daf1..213367b8dfd1221b970b99aa385cf29ece3af0ac 100644 (file)
@@ -24,7 +24,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /* The third argument can be:
    'x' for an exceptional code (fits no category).
    't' for a type object code.
-   'b' for a lexical block.
    'c' for codes for constants.
    'd' for codes for declarations (also serving as variable refs).
    'r' for codes for references to storage.
@@ -86,7 +85,7 @@ DEFTREECODE (TREE_VEC, "tree_vec", 'x', 0)
    instance of an inline function). 
    TREE_ASM_WRITTEN is nonzero if the block was actually referenced
    in the generated assembly.  */
-DEFTREECODE (BLOCK, "block", 'b', 0)
+DEFTREECODE (BLOCK, "block", 'x', 0)
 \f
 /* Each data type is represented by a tree node whose code is one of
    the following:  */