From: Richard Henderson Date: Wed, 23 Jun 2004 02:33:25 +0000 (-0700) Subject: c-typeck.c (emit_side_effect_warnings): Ignore error marks. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6b5a630376f3fc1e82a4e6d564b397b8ce13be7;p=gcc.git c-typeck.c (emit_side_effect_warnings): Ignore error marks. * c-typeck.c (emit_side_effect_warnings): Ignore error marks. (c_finish_stmt_expr): Likewise. From-SVN: r83534 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 526a8ec0030..ecd0f068d3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2004-06-22 Richard Henderson + * c-typeck.c (emit_side_effect_warnings): Ignore error marks. + (c_finish_stmt_expr): Likewise. + * config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New. (ix86_return_in_memory): Move SSE vector return warning ... (ix86_struct_value_rtx): ... here. New. diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 63c91210015..beef504d362 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -6651,7 +6651,9 @@ c_finish_for_stmt (tree body, tree for_stmt) static void emit_side_effect_warnings (tree expr) { - if (!TREE_SIDE_EFFECTS (expr)) + if (expr == error_mark_node) + ; + else if (!TREE_SIDE_EFFECTS (expr)) { if (!VOID_TYPE_P (TREE_TYPE (expr)) && !TREE_NO_WARNING (expr)) warning ("%Hstatement with no effect", @@ -6766,7 +6768,9 @@ c_finish_stmt_expr (tree body) /* In the case that the BIND_EXPR is not necessary, return the expression out from inside it. */ - if (last == BIND_EXPR_BODY (body) && BIND_EXPR_VARS (body) == NULL) + if (last == error_mark_node + || (last == BIND_EXPR_BODY (body) + && BIND_EXPR_VARS (body) == NULL)) return last; /* Extract the type of said expression. */