Stephan Bergmann
ad9498f8b8
More -Werror,-Wunused-private-field
...detected with a modified trunk Clang with
> Index: lib/Sema/SemaDeclCXX.cpp
> ===================================================================
> --- lib/Sema/SemaDeclCXX.cpp (revision 219190)
> +++ lib/Sema/SemaDeclCXX.cpp (working copy)
> @@ -1917,9 +1917,10 @@
> const Type *T = FD.getType()->getBaseElementTypeUnsafe();
> // FIXME: Destruction of ObjC lifetime types has side-effects.
> if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
> - return !RD->isCompleteDefinition() ||
> - !RD->hasTrivialDefaultConstructor() ||
> - !RD->hasTrivialDestructor();
> + return !RD->hasAttr<WarnUnusedAttr>() &&
> + (!RD->isCompleteDefinition() ||
> + !RD->hasTrivialDefaultConstructor() ||
> + !RD->hasTrivialDestructor());
> return false;
> }
>
> @@ -3517,9 +3518,11 @@
> bool addFieldInitializer(CXXCtorInitializer *Init) {
> AllToInit.push_back(Init);
>
> +#if 0
> // Check whether this initializer makes the field "used".
> if (Init->getInit()->HasSideEffects(S.Context))
> S.UnusedPrivateFields.remove(Init->getAnyMember());
> +#endif
>
> return false;
> }
to warn about members of SAL_WARN_UNUSED-annotated class types, and warn about
initializations with side effects (cf.
<http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-October/039602.html>
"-Wunused-private-field distracted by side effects").
Change-Id: I3f3181c4eb8180ca28e1fa3dffc9dbe1002c6628
2014-10-15 15:58:56 +02:00
..
2014-09-30 09:58:23 +02:00
2014-10-15 15:58:56 +02:00
2014-10-13 09:19:04 +00:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-10-11 15:14:52 +00:00
2014-09-23 14:11:39 +03:00
2014-09-05 04:06:33 +02:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-08-15 23:30:27 +02:00
2014-08-15 23:30:27 +02:00
2014-03-12 12:32:58 +00:00
2014-10-13 17:45:57 +02:00
2014-10-11 15:14:52 +00:00
2014-09-23 14:11:39 +03:00
2014-10-11 15:14:52 +00:00
2014-10-11 15:14:52 +00:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-08-09 18:12:07 +02:00
2014-09-23 14:11:39 +03:00
2014-10-11 15:14:32 +00:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-10-03 05:25:41 +00:00
2014-09-23 14:11:39 +03:00
2014-03-18 10:32:13 +00:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-03-06 16:35:50 +00:00
2014-09-23 14:11:39 +03:00
2014-04-11 18:00:18 +02:00
2014-04-11 18:00:18 +02:00
2014-10-01 07:34:23 +00:00
2014-09-30 10:33:26 +02:00
2014-04-22 13:03:17 +02:00
2014-01-04 16:58:47 +00:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-09-18 08:54:37 +02:00
2014-09-18 08:54:37 +02:00
2014-10-15 15:58:56 +02:00
2014-09-23 14:11:39 +03:00
2014-09-23 14:11:39 +03:00
2014-06-03 09:48:53 +00:00
2014-06-03 09:48:53 +00:00
2014-03-27 18:12:18 +01:00
2014-10-04 15:08:13 -05:00
2014-09-23 14:11:39 +03:00