summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-14 02:33:00 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-14 02:33:00 +0000
commit1acf029802710ffdf59be2af26c8ae49247c394e (patch)
tree1d87ff9be659423d0f5eae77a93d234f7f649aa0
parent88bce6369d989a3f87112ad26b981d2415147783 (diff)
downloadgcc-1acf029802710ffdf59be2af26c8ae49247c394e.tar.gz
* 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'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81831 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog42
-rw-r--r--gcc/ada/ChangeLog36
-rw-r--r--gcc/ada/trans.c1
-rw-r--r--gcc/c-common.c1
-rw-r--r--gcc/c-typeck.c4
-rw-r--r--gcc/calls.c5
-rw-r--r--gcc/print-tree.c19
-rw-r--r--gcc/tree-browser.c10
-rw-r--r--gcc/tree-ssa-operands.c2
-rw-r--r--gcc/tree.c15
-rw-r--r--gcc/tree.def3
11 files changed, 76 insertions, 62 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 433d599a6cd..ec71bb6eb71 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
@@ -861,7 +879,7 @@
* 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.
@@ -1219,17 +1237,17 @@
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>
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 3a057fab8f5..4ae1cfda6e7 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
@@ -292,7 +296,7 @@
* 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
@@ -584,9 +588,9 @@
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.
@@ -643,8 +647,8 @@
* 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.
@@ -655,7 +659,7 @@
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.
@@ -991,7 +995,7 @@
* 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
@@ -1147,7 +1151,7 @@
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,
@@ -1226,7 +1230,7 @@
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>
@@ -1839,9 +1843,9 @@
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.
@@ -2150,7 +2154,7 @@
* 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.
@@ -2668,7 +2672,7 @@
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>
@@ -2819,7 +2823,7 @@
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.
@@ -3020,7 +3024,7 @@
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.
@@ -3039,7 +3043,7 @@
(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.
diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c
index 841d5c8e629..117a95360dc 100644
--- a/gcc/ada/trans.c
+++ b/gcc/ada/trans.c
@@ -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':
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 9b7206a94c7..11b4b875d2c 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -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':
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 14270b971ca..6305cc4fb0a 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -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 ();
}
diff --git a/gcc/calls.c b/gcc/calls.c
index e15a96b9c37..35021ea137f 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -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++)
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index fd90b181f46..1d8ca961831 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -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);
diff --git a/gcc/tree-browser.c b/gcc/tree-browser.c
index f7c6136c51f..891c761e25e 100644
--- a/gcc/tree-browser.c
+++ b/gcc/tree-browser.c
@@ -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));
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index a399e1d2ec9..de5b16d1fd4 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -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
diff --git a/gcc/tree.c b/gcc/tree.c
index 33c696ef166..791cc221349 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -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':
diff --git a/gcc/tree.def b/gcc/tree.def
index ca9cf9f18b0..213367b8dfd 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -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)
/* Each data type is represented by a tree node whose code is one of
the following: */