• 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
..
inc Loading commit data...
qa Loading commit data...
sdi Loading commit data...
source Loading commit data...
uiconfig/scalc Loading commit data...
util Loading commit data...
workben Loading commit data...
AllLangResTarget_sc.mk Loading commit data...
CppunitTest_sc_annotationobj.mk Loading commit data...
CppunitTest_sc_annotationshapeobj.mk Loading commit data...
CppunitTest_sc_annotationsobj.mk Loading commit data...
CppunitTest_sc_cellrangeobj.mk Loading commit data...
CppunitTest_sc_chart_regression_test.mk Loading commit data...
CppunitTest_sc_databaserangeobj.mk Loading commit data...
CppunitTest_sc_datapilotfieldobj.mk Loading commit data...
CppunitTest_sc_datapilottableobj.mk Loading commit data...
CppunitTest_sc_editfieldobj_cell.mk Loading commit data...
CppunitTest_sc_editfieldobj_header.mk Loading commit data...
CppunitTest_sc_filters_test.mk Loading commit data...
CppunitTest_sc_html_export_test.mk Loading commit data...
CppunitTest_sc_macros_test.mk Loading commit data...
CppunitTest_sc_modelobj.mk Loading commit data...
CppunitTest_sc_namedrangeobj.mk Loading commit data...
CppunitTest_sc_namedrangesobj.mk Loading commit data...
CppunitTest_sc_opencl_test.mk Loading commit data...
CppunitTest_sc_outlineobj.mk Loading commit data...
CppunitTest_sc_rangelst_test.mk Loading commit data...
CppunitTest_sc_styleloaderobj.mk Loading commit data...
CppunitTest_sc_subsequent_export_test.mk Loading commit data...
CppunitTest_sc_subsequent_filters_test.mk Loading commit data...
CppunitTest_sc_tablesheetobj.mk Loading commit data...
CppunitTest_sc_tablesheetsobj.mk Loading commit data...
CppunitTest_sc_ucalc.mk Loading commit data...
CustomTarget_uiconfig.mk Loading commit data...
JunitTest_sc_complex.mk Loading commit data...
JunitTest_sc_unoapi.mk Loading commit data...
Library_sc.mk Loading commit data...
Library_scd.mk Loading commit data...
Library_scfilt.mk Loading commit data...
Library_scopencl.mk Loading commit data...
Library_scqahelper.mk Loading commit data...
Library_scui.mk Loading commit data...
Library_vbaobj.mk Loading commit data...
Makefile Loading commit data...
Module_sc.mk Loading commit data...
README Loading commit data...
UIConfig_scalc.mk Loading commit data...