tree.def (documentation): Remove mention of class 'b'.
* 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
This commit is contained in:
parent
eadf906f46
commit
90afe2c9f5
11 changed files with 76 additions and 62 deletions
|
@ -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>
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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':
|
||||
|
|
|
@ -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':
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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++)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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
|
||||
|
|
15
gcc/tree.c
15
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':
|
||||
|
|
|
@ -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: */
|
||||
|
|
Loading…
Add table
Reference in a new issue