[cfe-commits] Clang change to detect and warn about unused private members
Matthieu Monrocq
matthieu.monrocq at gmail.com
Wed Jan 11 12:02:18 PST 2012
Le 11 janvier 2012 10:11, Daniel Jasper <djasper at google.com> a écrit :
> Hi,
>
> the attached change is designed to detect and warn about private unused
> members of C++ classes. It checks whether a class is fully defined in the
> current translation unit, i.e. all methods are either defined or pure
> virtual and all friends are defined. Otherwise, the private member could be
> used by a function defined in another translation unit.
>
> An initializer does not count as "use", if:
> - the member is a primitive type
> - the member is a pointer
> - the initializer does not take any arguments
>
> Kind regards,
> Daniel
>
>
Hello Daniel,
it sounds like a fairly useful warning :)
I only have two comments regarding the patch itself:
> is it necessary to actually have UnusedPrivateFields and
(Not)FullyDefinedCXXRecords as members of Sema ? They could be passed (by
reference) to IsRecordFullyDefinedInTranslationUnit which could then be
marked `const` (unless I missed something)
> there is no test case
Nice patch.
-- Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120111/df8c841b/attachment.html>
More information about the cfe-commits
mailing list