[cfe-dev] Spurious warning: unused parameter when used only in an expression error-ing out
Ted Kremenek
kremenek at apple.com
Thu Jul 14 13:44:28 PDT 2011
We should probably not emit a -Wunused-[x] warning in cases where a function doesn't fully parse correctly. Please file a bug.
On Jul 14, 2011, at 12:34 PM, Matthieu Monrocq wrote:
> Hello clang,
>
> I made a strange discovery with a small helper function I wrote:
>
> If one test the following (short) program:
>
> struct A;
>
> void sink(A,int);
>
> void func(A const& a, int x, int y) {
> sink(a + x, y);
> }
>
> The following errors get emitted:
>
> $ clang -fsyntax-only -Wunused-parameter unused_parameter.cpp
> unused_parameter.cpp:15:11: error: invalid operands to binary expression ('const A' and 'int')
> sink(a + x, y);
> ~ ^ ~
> unused_parameter.cpp:14:34: warning: unused parameter 'y' [-Wunused-parameter]
> void func(A const& a, int x, int y) {
> ^
> 1 warning and 1 error generated.
>
>
> The first one is expected, however it seems its presence somehow short-circuit the analysis of the whole expression and as a result we get the spurious warning...
>
> I feel that this is unwelcome, because it obfuscates the true error (especially since I tend to compile with -Werror).
>
>
> For reference, I use the following version of Clang:
>
> $ clang --version
> clang version 3.0 (trunk 132889)
> Target: i686-pc-mingw32
> Thread model: posix
>
> I could not find any mention of such an issue with my Google-fu in the cfe-dev archive, so please let me know if it already came up and it was deemed unimportant.
>
> -- Matthieu
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110714/3549b4d9/attachment.html>
More information about the cfe-dev
mailing list