make CASE_LABEL_EXPR not abuse TREE_CHAIN
authorNathan Froyd <froydnj@codesourcery.com>
Tue, 10 May 2011 19:52:39 +0000 (19:52 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Tue, 10 May 2011 19:52:39 +0000 (19:52 +0000)
make CASE_LABEL_EXPR not abuse TREE_CHAIN
* tree.def (CASE_LABEL_EXPR): Add an operand.
* tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.

From-SVN: r173633

gcc/ChangeLog
gcc/tree.def
gcc/tree.h

index 410bc2641e08e9b4ebf08dd7e1312e41a213b7f4..671cc540d64ac06a988fc4f9e2ab0d62476ed191 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.def (CASE_LABEL_EXPR): Add an operand.
+       * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
+
 2011-05-10  Joseph Myers  <joseph@codesourcery.com>
 
        * c-decl.c (c_override_global_bindings_to_false): Remove.
index eb94ad245934fe157552c4891b1cff769990bc92..9c6606d0c9cdc23e3442cdafbeb1ef52b1ca6b51 100644 (file)
@@ -863,7 +863,7 @@ DEFTREECODE (SWITCH_EXPR, "switch_expr", tcc_statement, 3)
    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.  */
-DEFTREECODE (CASE_LABEL_EXPR, "case_label_expr", tcc_statement, 3)
+DEFTREECODE (CASE_LABEL_EXPR, "case_label_expr", tcc_statement, 4)
 
 /* Used to represent an inline assembly statement.  ASM_STRING returns a
    STRING_CST for the instruction (e.g., "mov x, y"). ASM_OUTPUTS,
index 4cf1730d4cb0b0392d07a83c39551d57d6e8974e..529613c0c9cc4ad6ff1427bed61c76efd8210fca 100644 (file)
@@ -1689,7 +1689,7 @@ extern void protected_set_expr_location (tree, location_t);
 #define CASE_LOW(NODE)                 TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 0)
 #define CASE_HIGH(NODE)                TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 1)
 #define CASE_LABEL(NODE)               TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 2)
-#define CASE_CHAIN(NODE)               TREE_CHAIN (CASE_LABEL_EXPR_CHECK (NODE))
+#define CASE_CHAIN(NODE)               TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 3)
 
 /* The operands of a TARGET_MEM_REF.  Operands 0 and 1 have to match
    corresponding MEM_REF operands.  */