It occured to me that we should probably use error_operand_p in the C FE where appropriate. Following change is meant only as a little cleanup.
Bootstrapped/regtested on x86_64-linux, ok for trunk? 2014-10-04 Marek Polacek <pola...@redhat.com> * c-convert.c (convert): Use error_operand_p. * c-typeck.c (require_complete_type): Likewise. (really_atomic_lvalue): Likewise. (digest_init): Likewise. (handle_omp_array_sections_1): Likewise. diff --git gcc/c/c-convert.c gcc/c/c-convert.c index 38bacda..95be453 100644 --- gcc/c/c-convert.c +++ gcc/c/c-convert.c @@ -72,8 +72,7 @@ convert (tree type, tree expr) location_t loc = EXPR_LOCATION (expr); if (type == error_mark_node - || expr == error_mark_node - || TREE_TYPE (expr) == error_mark_node) + || error_operand_p (expr)) return error_mark_node; if ((invalid_conv_diag diff --git gcc/c/c-typeck.c gcc/c/c-typeck.c index f69c28b..b3b82bb 100644 --- gcc/c/c-typeck.c +++ gcc/c/c-typeck.c @@ -192,7 +192,7 @@ require_complete_type (tree value) { tree type = TREE_TYPE (value); - if (value == error_mark_node || type == error_mark_node) + if (error_operand_p (value)) return error_mark_node; /* First, detect a valid value with a complete type. */ @@ -1950,7 +1950,7 @@ default_function_array_read_conversion (location_t loc, struct c_expr exp) static bool really_atomic_lvalue (tree expr) { - if (expr == error_mark_node || TREE_TYPE (expr) == error_mark_node) + if (error_operand_p (expr)) return false; if (!TYPE_ATOMIC (TREE_TYPE (expr))) return false; @@ -6492,8 +6492,7 @@ digest_init (location_t init_loc, tree type, tree init, tree origtype, if (type == error_mark_node || !init - || init == error_mark_node - || TREE_TYPE (init) == error_mark_node) + || error_operand_p (init)) return error_mark_node; STRIP_TYPE_NOPS (inside_init); @@ -11365,7 +11364,7 @@ handle_omp_array_sections_1 (tree c, tree t, vec<tree> &types, tree ret, low_bound, length, type; if (TREE_CODE (t) != TREE_LIST) { - if (t == error_mark_node || TREE_TYPE (t) == error_mark_node) + if (error_operand_p (t)) return error_mark_node; if (TREE_CODE (t) != VAR_DECL && TREE_CODE (t) != PARM_DECL) { Marek