make CASE_LABEL_EXPR not abuse TREE_CHAIN

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
This commit is contained in:
Nathan Froyd 2011-05-10 19:52:39 +00:00 committed by Nathan Froyd
parent 96703596c4
commit a9dc9d376c
3 changed files with 7 additions and 2 deletions

View 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.

View 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,

View 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. */