diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -6600,7 +6600,7 @@ highest_pow2_factor (const_tree exp) } break; - case NOP_EXPR: case CONVERT_EXPR: + CASE_CONVERT: case SAVE_EXPR: return highest_pow2_factor (TREE_OPERAND (exp, 0)); @@ -8018,8 +8018,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, return expand_call (exp, target, ignore); case PAREN_EXPR: - case NOP_EXPR: - case CONVERT_EXPR: + CASE_CONVERT: if (TREE_OPERAND (exp, 0) == error_mark_node) return const0_rtx; @@ -9410,8 +9409,7 @@ static int is_aligning_offset (const_tree offset, const_tree exp) { /* Strip off any conversions. */ - while (TREE_CODE (offset) == NOP_EXPR - || TREE_CODE (offset) == CONVERT_EXPR) + while (CONVERT_EXPR_P (offset)) offset = TREE_OPERAND (offset, 0); /* We must now have a BIT_AND_EXPR with a constant that is one less than @@ -9426,16 +9424,14 @@ is_aligning_offset (const_tree offset, const_tree exp) /* Look at the first operand of BIT_AND_EXPR and strip any conversion. It must be NEGATE_EXPR. Then strip any more conversions. */ offset = TREE_OPERAND (offset, 0); - while (TREE_CODE (offset) == NOP_EXPR - || TREE_CODE (offset) == CONVERT_EXPR) + while (CONVERT_EXPR_P (offset)) offset = TREE_OPERAND (offset, 0); if (TREE_CODE (offset) != NEGATE_EXPR) return 0; offset = TREE_OPERAND (offset, 0); - while (TREE_CODE (offset) == NOP_EXPR - || TREE_CODE (offset) == CONVERT_EXPR) + while (CONVERT_EXPR_P (offset)) offset = TREE_OPERAND (offset, 0); /* This must now be the address of EXP. */ |