On Tue, Oct 23, 2012 at 4:19 PM, Matt Beaumont-Gay <[email protected]> wrote:
> Author: matthewbg
> Date: Tue Oct 23 18:19:32 2012
> New Revision: 166522
>
> URL: http://llvm.org/viewvc/llvm-project?rev=166522&view=rev
> Log:
> Don't emit -Wunused-value warnings from macro expansions.
>
> Modified:
>     cfe/trunk/lib/AST/Expr.cpp
>     cfe/trunk/test/Sema/unused-expr.c
>
> Modified: cfe/trunk/lib/AST/Expr.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=166522&r1=166521&r2=166522&view=diff
> ==============================================================================
> --- cfe/trunk/lib/AST/Expr.cpp (original)
> +++ cfe/trunk/lib/AST/Expr.cpp Tue Oct 23 18:19:32 2012
> @@ -2026,6 +2026,10 @@
>    }
>    case CXXFunctionalCastExprClass:
>    case CStyleCastExprClass: {
> +    // Ignore casts within macro expansions.
> +    if (getExprLoc().isMacroID())
> +      return false;

A few issues:

1. Please move this below the special-case for casts to void.
2. "Ignore" in this context should be written as "return
CE->getSubExpr()->isUnusedResultAWarning(WarnE, Loc, R1, R2, Ctx);";
we don't want to completely suppress unused-value warnings just
because there's a cast in a macro.  (e.g. "(long)1" should still be
treated as an unused value).

-Eli
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to