PR middle-end/7651
* doc/invoke.texi (Wunused-value): Update description.
(Wextra): Delete item.
* opts.c (set_Wextra): Don't use the value of Wextra to set the
value of Wunused-value.
* c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
(c_finish_stmt_expr): Don't check extra_warnings.
(emit_side_effect_warnings): The caller is responsible to check
warn_unused_value.
cp/
* cp-gimplify.c (gimplify_expr_stmt): Don't check extra_warnings.
Check warn_unused_value just once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121843
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR middle-end/7651
+ * doc/invoke.texi (Wunused-value): Update description.
+ (Wextra): Delete item.
+ * opts.c (set_Wextra): Don't use the value of Wextra to set the
+ value of Wunused-value.
+ * c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
+ (c_finish_stmt_expr): Don't check extra_warnings.
+ (emit_side_effect_warnings): The caller is responsible to check
+ warn_unused_value.
+
2007-02-11 Roger Sayle <roger@eyesopen.com>
Matt Thomas <matt@3am-software.com>
else if (!TREE_SIDE_EFFECTS (expr))
{
if (!VOID_TYPE_P (TREE_TYPE (expr)) && !TREE_NO_WARNING (expr))
- warning (0, "%Hstatement with no effect",
+ warning (OPT_Wunused_value, "%Hstatement with no effect",
EXPR_HAS_LOCATION (expr) ? EXPR_LOCUS (expr) : &input_location);
}
- else if (warn_unused_value)
+ else
warn_if_unused_value (expr, input_location);
}
Warnings for statement expressions will be emitted later, once we figure
out which is the result. */
if (!STATEMENT_LIST_STMT_EXPR (cur_stmt_list)
- && (extra_warnings || warn_unused_value))
+ && warn_unused_value)
emit_side_effect_warnings (expr);
/* If the expression is not of a type to which we cannot assign a line
/* If we're supposed to generate side effects warnings, process
all of the statements except the last. */
- if (extra_warnings || warn_unused_value)
+ if (warn_unused_value)
{
for (i = tsi_start (last); !tsi_one_before_end_p (i); tsi_next (&i))
emit_side_effect_warnings (tsi_stmt (i));
+2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR middle-end/7651
+ * cp-gimplify.c (gimplify_expr_stmt): Don't check extra_warnings.
+ Check warn_unused_value just once.
+
2007-02-11 Mark Mitchell <mark@codesourcery.com>
PR c++/26988
In this case we will not want to emit the gimplified statement.
However, we may still want to emit a warning, so we do that before
gimplification. */
- if (stmt && (extra_warnings || warn_unused_value))
+ if (stmt && warn_unused_value)
{
if (!TREE_SIDE_EFFECTS (stmt))
{
if (!IS_EMPTY_STMT (stmt)
&& !VOID_TYPE_P (TREE_TYPE (stmt))
&& !TREE_NO_WARNING (stmt))
- warning (OPT_Wextra, "statement with no effect");
+ warning (OPT_Wunused_value, "statement with no effect");
}
- else if (warn_unused_value)
+ else
warn_if_unused_value (stmt, input_location);
}
@item -Wunused-value
@opindex Wunused-value
-Warn whenever a statement computes a result that is explicitly not used.
-This warning is enabled by @option{-Wall}.
+Warn whenever a statement computes a result that is explicitly not
+used. To suppress this warning cast the unused expression to
+@samp{void}. This includes an expression-statement or the left-hand
+side of a comma expression that contains no side effects. For example,
+an expression such as @samp{x[i,j]} will cause a warning, while
+@samp{x[(void)i,j]} will not.
-To suppress this warning cast the expression to @samp{void}.
+This warning is enabled by @option{-Wall}.
@item -Wunused
@opindex Wunused
@end smallexample
@item
-An expression-statement or the left-hand side of a comma expression
-contains no side effects.
-To suppress the warning, cast the unused expression to void.
-For example, an expression such as @samp{x[i,j]} will cause a warning,
-but @samp{x[(void)i,j]} will not.
-
-@item
An unsigned value is compared against zero with @samp{<} or @samp{>=}.
@item @r{(C only)}
set_Wextra (int setting)
{
extra_warnings = setting;
- warn_unused_value = setting;
warn_unused_parameter = (setting && maybe_warn_unused_parameter);
/* We save the value of warn_uninitialized, since if they put