• Stephan Bergmann's avatar
    More -Werror,-Wunused-private-field · ad9498f8
    Stephan Bergmann yazdı
    ...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
    ad9498f8
Adı
Son kayıt (commit)
Son güncelleme
..
android Loading commit data...
generic Loading commit data...
headless Loading commit data...
inc Loading commit data...
ios Loading commit data...
null Loading commit data...
osx Loading commit data...
qa Loading commit data...
quartz Loading commit data...
source Loading commit data...
test Loading commit data...
uiconfig/ui Loading commit data...
unx Loading commit data...
win/source Loading commit data...
workben Loading commit data...
AllLangResTarget_vcl.mk Loading commit data...
CppunitTest_vcl_app_test.mk Loading commit data...
CppunitTest_vcl_complextext.mk Loading commit data...
CppunitTest_vcl_filters_test.mk Loading commit data...
CppunitTest_vcl_fontcharmap.mk Loading commit data...
CppunitTest_vcl_timer.mk Loading commit data...
CppunitTest_vcl_wmf_test.mk Loading commit data...
CustomTarget_afm_hash.mk Loading commit data...
CustomTarget_kde4_moc.mk Loading commit data...
CustomTarget_kde_moc.mk Loading commit data...
CustomTarget_tde_moc.mk Loading commit data...
Executable_icontest.mk Loading commit data...
Executable_kdefilepicker.mk Loading commit data...
Executable_svdemo.mk Loading commit data...
Executable_svpclient.mk Loading commit data...
Executable_svptest.mk Loading commit data...
Executable_tdefilepicker.mk Loading commit data...
Executable_ui-previewer.mk Loading commit data...
Executable_vcldemo.mk Loading commit data...
Executable_xid_fullscreen_on_all_monitors.mk Loading commit data...
Library_desktop_detector.mk Loading commit data...
Library_vcl.mk Loading commit data...
Library_vclopengl.mk Loading commit data...
Library_vclplug_gen.mk Loading commit data...
Library_vclplug_gtk.mk Loading commit data...
Library_vclplug_gtk3.mk Loading commit data...
Library_vclplug_kde.mk Loading commit data...
Library_vclplug_kde4.mk Loading commit data...
Library_vclplug_svp.mk Loading commit data...
Library_vclplug_tde.mk Loading commit data...
Makefile Loading commit data...
Module_vcl.mk Loading commit data...
Package_fontunxppds.mk Loading commit data...
Package_fontunxpsprint.mk Loading commit data...
Package_osxres.mk Loading commit data...
README Loading commit data...
StaticLibrary_headless.mk Loading commit data...
StaticLibrary_vclmain.mk Loading commit data...
UIConfig_vcl.mk Loading commit data...
WinResTarget_vcl.mk Loading commit data...
vcl.android.component Loading commit data...
vcl.headless.component Loading commit data...
vcl.ios.component Loading commit data...
vcl.macosx.component Loading commit data...
vcl.unx.component Loading commit data...
vcl.windows.component Loading commit data...