diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/tree-ssa-operands.c | 6 | 
2 files changed, 9 insertions, 2 deletions
| diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5df482fb73..bd5d443492f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu> + +	* tree-ssa-operands.c (get_stmt_operands, get_expr_operands): +	Handle ARRAY_RANGE_REF like ARRAY_REF. +  2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>  	* c-typeck.c (digest_init): Don't allow arrays of signed or diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index 7e7829e52e9..bd80da33341 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -757,7 +757,8 @@ get_stmt_operands (tree stmt)      case MODIFY_EXPR:        get_expr_operands (stmt, &TREE_OPERAND (stmt, 1), opf_none, &prev_vops);        if (TREE_CODE (TREE_OPERAND (stmt, 0)) == ARRAY_REF  -          || TREE_CODE (TREE_OPERAND (stmt, 0)) == COMPONENT_REF +	  || TREE_CODE (TREE_OPERAND (stmt, 0)) == ARRAY_RANGE_REF +	  || TREE_CODE (TREE_OPERAND (stmt, 0)) == COMPONENT_REF  	  || TREE_CODE (TREE_OPERAND (stmt, 0)) == REALPART_EXPR  	  || TREE_CODE (TREE_OPERAND (stmt, 0)) == IMAGPART_EXPR  	  /* Use a V_MAY_DEF if the RHS might throw, as the LHS won't be @@ -952,7 +953,8 @@ get_expr_operands (tree stmt, tree *expr_p, int flags, voperands_t prev_vops)  	op = TREE_OPERAND (expr, 0);  	if (TREE_CODE (op) == WITH_SIZE_EXPR)  	  op = TREE_OPERAND (expr, 0); -	if (TREE_CODE (op) == ARRAY_REF  +	if (TREE_CODE (op) == ARRAY_REF +	    || TREE_CODE (op) == ARRAY_RANGE_REF  	    || TREE_CODE (op) == COMPONENT_REF  	    || TREE_CODE (op) == REALPART_EXPR  	    || TREE_CODE (op) == IMAGPART_EXPR) | 

