From e6b5a630376f3fc1e82a4e6d564b397b8ce13be7 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 22 Jun 2004 19:33:25 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/c-typeck.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) 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. */ -- 2.30.2