From 308e3ba6f57485756135cd8c8262a3a076c01bd0 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Wed, 18 Apr 2012 18:10:17 +0000 Subject: [PATCH] tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. * tree-cfg.c (edge_to_cases): Fix documentation. From-SVN: r186575 --- gcc/ChangeLog | 5 +++++ gcc/tree-cfg.c | 2 +- gcc/tree.def | 14 ++++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 51eaa8bffdb..6309d7c6683 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-04-18 Steven Bosscher + + * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. + * tree-cfg.c (edge_to_cases): Fix documentation. + 2012-04-18 Uros Bizjak * config/alpha/sync.md (fetchop_name): Change ior attribute to "or". diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 1f59c03cfcd..72455667da8 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -56,7 +56,7 @@ static const int initial_cfg_capacity = 20; /* This hash table allows us to efficiently lookup all CASE_LABEL_EXPRs which use a particular edge. The CASE_LABEL_EXPRs are chained together - via their TREE_CHAIN field, which we clear after we're done with the + via their CASE_CHAIN field, which we clear after we're done with the hash table to prevent problems with duplication of GIMPLE_SWITCHes. Access to this list of CASE_LABEL_EXPRs allows us to efficiently diff --git a/gcc/tree.def b/gcc/tree.def index fd7cbbd1265..8a3007cd47b 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -876,10 +876,16 @@ DEFTREECODE (LOOP_EXPR, "loop_expr", tcc_statement, 1) of all the cases. */ DEFTREECODE (SWITCH_EXPR, "switch_expr", tcc_statement, 3) -/* Used to represent a case label. The operands are CASE_LOW and - CASE_HIGH, respectively. If CASE_LOW is NULL_TREE, the label is a - 'default' label. If CASE_HIGH is NULL_TREE, the label is a normal case - label. CASE_LABEL is the corresponding LABEL_DECL. */ +/* Used to represent a case label. + + Operand 0 is CASE_LOW. It may be NULL_TREE, in which case the label + is a 'default' label. + Operand 1 is CASE_HIGH. If it is NULL_TREE, the label is a simple + (one-value) case label. If it is non-NULL_TREE, the case is a range. + Operand 2 is CASE_LABEL, which is is the corresponding LABEL_DECL. + Operand 4 is CASE_CHAIN. This operand is only used in tree-cfg.c to + speed up the lookup of case labels which use a particular edge in + the control flow graph. */ DEFTREECODE (CASE_LABEL_EXPR, "case_label_expr", tcc_statement, 4) /* Used to represent an inline assembly statement. ASM_STRING returns a