This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix CASE_LABEL_EXPR documentation in tree.def and tree-cfg.c


Subject says all. Will commit as obvious.

        * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
        * tree-cfg.c (edge_to_cases): Fix documentation.

Index: tree.def
===================================================================
--- tree.def    (revision 186526)
+++ tree.def    (working copy)
@@ -876,10 +876,16 @@ DEFTREECODE (LOOP_EXPR, "loop_expr", tcc_statement
      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
Index: tree-cfg.c
===================================================================
--- tree-cfg.c  (revision 186526)
+++ tree-cfg.c  (working copy)
@@ -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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]