[PATCH] PR14253: 'warn_unused' attribute for unused warning for non-POD types

Lubos Lunak l.lunak at suse.cz
Tue Jul 16 12:41:03 PDT 2013


On Tuesday 16 of July 2013, David Blaikie wrote:
> I know we'd previously discussed the idea of being able to warn about
> unused variables of non-trivial types - you'd gone so far as to
> suggest the idea of a positive attribute (annotate the classes that
> have side effects, rather than those that don't, since the former
> seems like the exception rather than the rule).

 That may work in an ideal world, but I think in practice the exceptions will 
be what matters. As long as there's a single type missing the annotation 
(which is quite likely, with projects using a number of libraries from 
different providers, etc.), there are likely to be false positives. And I bet 
a number of developers would be rather unhappy to find out that a new 
compiler means they have to somehow work around false warnings about this and 
that 3rd-party library or just disable the warning altogether.

 Moreover, in practice it's quite likely that tagging the most obvious 5% will 
trigger 95% or more of possible (warranted) warnings, as there are only 
certain kinds of classes that are likely to have unused variables. There may 
be a bunch of unused StringRef variables in Clang, but I rather doubt you'll 
find a single unused variable of say FunctionDecl.

 So while the patch is not perfect, I think it's good enough. That said, if 
you do have a better idea, I'm interested.

> I don't suppose that is sufficiently related to this to warrant any
> changes here (we probably want to support this the way GCC does for
> compatibility at least, even if we come up with a more advanced scheme

 There is no "the way GCC does". I wrote both of the patches.

-- 
 Lubos Lunak
 l.lunak at suse.cz



More information about the cfe-commits mailing list