From e9586cf0b5fda0092fdca3ab4db470e8fd765adf Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 10 Apr 2018 09:40:19 +0200 Subject: loplugin:unusedfield improvements improve the read-only check to ignore reads from fields that are guarded by a boolean check, something like: if (field) field.foo(); this produces some false positives at the moment because I'm not correctly handling the else block, but also some useful new dead code. Change-Id: Id21fa1a56c171d09d979769b978b6eef14e8b695 Reviewed-on: https://gerrit.libreoffice.org/52664 Tested-by: Jenkins Reviewed-by: Noel Grandin --- compilerplugins/clang/test/unusedfields.cxx | 15 +++- compilerplugins/clang/unusedfields.cxx | 29 ++++++- .../clang/unusedfields.readonly.results | 92 ++++++++++++++++++---- .../clang/unusedfields.untouched.results | 40 ++++------ .../clang/unusedfields.writeonly.results | 32 ++++---- 5 files changed, 147 insertions(+), 61 deletions(-) (limited to 'compilerplugins') diff --git a/compilerplugins/clang/test/unusedfields.cxx b/compilerplugins/clang/test/unusedfields.cxx index db71aeb199e4..fe81c88ed205 100644 --- a/compilerplugins/clang/test/unusedfields.cxx +++ b/compilerplugins/clang/test/unusedfields.cxx @@ -31,8 +31,7 @@ struct Bar // expected-error@-11 {{write m_bar3b [loplugin:unusedfields]}} // expected-error@-12 {{write m_bar4 [loplugin:unusedfields]}} // expected-error@-13 {{write m_bar7 [loplugin:unusedfields]}} -// expected-error@-14 {{write m_barfunctionpointer [loplugin:unusedfields]}} -// expected-error@-15 {{write m_bar9 [loplugin:unusedfields]}} +// expected-error@-14 {{write m_bar9 [loplugin:unusedfields]}} { int m_bar1; int m_bar2 = 1; @@ -161,4 +160,16 @@ struct ReadOnlyAnalysis2 ReadOnlyAnalysis2 global { 1 }; +struct ReadOnlyAnalysis3 +// expected-error@-1 {{read m_f1 [loplugin:unusedfields]}} +{ + int m_f1; + + void func1() + { + if (m_f1) + m_f1 = 1; + } +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/compilerplugins/clang/unusedfields.cxx b/compilerplugins/clang/unusedfields.cxx index 17ec24bc5c8e..ead4192bdf88 100644 --- a/compilerplugins/clang/unusedfields.cxx +++ b/compilerplugins/clang/unusedfields.cxx @@ -13,7 +13,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -152,6 +153,7 @@ public: bool TraverseCXXConstructorDecl( CXXConstructorDecl* ); bool TraverseCXXMethodDecl( CXXMethodDecl* ); bool TraverseFunctionDecl( FunctionDecl* ); + bool TraverseIfStmt( IfStmt* ); private: MyFieldInfo niceName(const FieldDecl*); @@ -168,6 +170,7 @@ private: // For reasons I do not understand, parentFunctionDecl() is not reliable, so // we store the parent function on the way down the AST. FunctionDecl * insideFunctionDecl = nullptr; + std::vector insideConditionalCheckOfMemberSet; }; void UnusedFields::run() @@ -414,6 +417,21 @@ bool UnusedFields::TraverseFunctionDecl(FunctionDecl* functionDecl) return ret; } +bool UnusedFields::TraverseIfStmt(IfStmt* ifStmt) +{ + FieldDecl const * memberFieldDecl = nullptr; + Expr const * cond = ifStmt->getCond()->IgnoreParenImpCasts(); + if (auto memberExpr = dyn_cast(cond)) + { + if ((memberFieldDecl = dyn_cast(memberExpr->getMemberDecl()))) + insideConditionalCheckOfMemberSet.push_back(memberFieldDecl); + } + bool ret = RecursiveASTVisitor::TraverseIfStmt(ifStmt); + if (memberFieldDecl) + insideConditionalCheckOfMemberSet.pop_back(); + return ret; +} + bool UnusedFields::VisitMemberExpr( const MemberExpr* memberExpr ) { const ValueDecl* decl = memberExpr->getMemberDecl(); @@ -643,6 +661,13 @@ void UnusedFields::checkReadOnly(const FieldDecl* fieldDecl, const Expr* memberE return; } + // if we're inside a block that looks like + // if (fieldDecl) + // .... + // then writes to this field don't matter, because unless we find another write to this field, this field is dead + if (std::find(insideConditionalCheckOfMemberSet.begin(), insideConditionalCheckOfMemberSet.end(), fieldDecl) != insideConditionalCheckOfMemberSet.end()) + return; + auto parentsRange = compiler.getASTContext().getParents(*memberExpr); const Stmt* child = memberExpr; const Stmt* parent = parentsRange.begin() == parentsRange.end() ? nullptr : parentsRange.begin()->get(); @@ -987,7 +1012,7 @@ llvm::Optional UnusedFields::getCallee(CallExpr const * callExpr) return llvm::Optional(); } -loplugin::Plugin::Registration< UnusedFields > X("unusedfields", false); +loplugin::Plugin::Registration< UnusedFields > X("unusedfields", true); } diff --git a/compilerplugins/clang/unusedfields.readonly.results b/compilerplugins/clang/unusedfields.readonly.results index ea8c740e10a0..a0f0f9327f87 100644 --- a/compilerplugins/clang/unusedfields.readonly.results +++ b/compilerplugins/clang/unusedfields.readonly.results @@ -150,11 +150,9 @@ cppu/source/uno/check.cxx:134 (anonymous namespace)::Char3 c3 char cppu/source/uno/check.cxx:138 (anonymous namespace)::Char4 chars struct (anonymous namespace)::Char3 -cui/source/inc/cuicharmap.hxx:86 - SvxCharacterMap m_pFavCharView VclPtr [16] cui/source/options/optcolor.cxx:254 ColorConfigWindow_Impl aModuleOptions class SvtModuleOptions -cui/source/options/optpath.cxx:77 +cui/source/options/optpath.cxx:78 OptPath_Impl m_aDefOpt class SvtDefaultOptions cui/source/options/personalization.hxx:34 SvxPersonalizationTabPage m_vDefaultPersonaImages VclPtr [3] @@ -162,11 +160,13 @@ cui/source/options/personalization.hxx:85 SelectPersonaDialog m_vResultList VclPtr [9] cui/source/options/personalization.hxx:86 SelectPersonaDialog m_vSearchSuggestions VclPtr [6] +cui/source/options/treeopt.cxx:468 + OptionsGroupInfo m_bLoadError _Bool dbaccess/source/core/api/RowSetBase.hxx:87 dbaccess::ORowSetBase m_aEmptyValue connectivity::ORowSetValue dbaccess/source/core/api/RowSetBase.hxx:98 dbaccess::ORowSetBase m_aErrors ::connectivity::SQLError -dbaccess/source/core/dataaccess/documentcontainer.cxx:65 +dbaccess/source/core/dataaccess/documentcontainer.cxx:64 dbaccess::LocalNameApproval m_aErrors ::connectivity::SQLError dbaccess/source/core/inc/ContentHelper.hxx:109 dbaccess::OContentHelper m_aErrorHelper const ::connectivity::SQLError @@ -206,8 +206,12 @@ extensions/source/propctrlr/eformshelper.hxx:62 pcr::EFormsHelper m_aSubmissionUINames pcr::MapStringToPropertySet extensions/source/propctrlr/eformshelper.hxx:64 pcr::EFormsHelper m_aBindingUINames pcr::MapStringToPropertySet +extensions/source/update/check/updatehdl.hxx:85 + UpdateHandler mbStringsLoaded _Bool filter/source/graphicfilter/eps/eps.cxx:113 PSWriter pVDev ScopedVclPtrInstance +filter/source/graphicfilter/icgm/cgm.hxx:62 + CGM mbPicture _Bool filter/source/graphicfilter/icgm/chart.hxx:44 DataNode nBoxX1 sal_Int16 filter/source/graphicfilter/icgm/chart.hxx:45 @@ -224,6 +228,14 @@ filter/source/xsltdialog/xmlfiltersettingsdialog.hxx:143 XMLFilterSettingsDialog maModuleOpt class SvtModuleOptions framework/inc/dispatch/dispatchprovider.hxx:81 framework::DispatchProvider m_aProtocolHandlerCache class framework::HandlerCache +framework/inc/helper/uiconfigelementwrapperbase.hxx:127 + framework::UIConfigElementWrapperBase m_bConfigListening _Bool +framework/inc/xml/menudocumenthandler.hxx:133 + framework::OReadMenuBarHandler m_bMenuMode _Bool +framework/inc/xml/menudocumenthandler.hxx:160 + framework::OReadMenuHandler m_bMenuPopupMode _Bool +framework/inc/xml/menudocumenthandler.hxx:190 + framework::OReadMenuPopupHandler m_bMenuMode _Bool framework/source/fwe/classes/addonsoptions.cxx:299 framework::AddonsOptions_Impl m_aEmptyAddonToolBar Sequence > i18npool/inc/textconversion.hxx:80 @@ -260,6 +272,8 @@ include/filter/msfilter/svdfppt.hxx:886 ImplPPTParaPropSet nDontKnow2bit06 sal_uInt16 include/oox/core/contexthandler2.hxx:220 oox::core::ContextHandler2Helper mnRootStackSize size_t +include/oox/ole/axbinarywriter.hxx:151 + oox::ole::AxBinaryPropertyWriter maStreamProps oox::ole::AxBinaryPropertyWriter::ComplexPropVector include/registry/refltype.hxx:65 RTUik m_Data1 sal_uInt32 include/registry/refltype.hxx:66 @@ -271,7 +285,7 @@ include/registry/refltype.hxx:68 include/registry/refltype.hxx:69 RTUik m_Data5 sal_uInt32 include/sfx2/charmapcontrol.hxx:44 - SfxCharmapCtrl m_pFavCharView VclPtr [16] + SfxCharmapCtrl m_pFavCharView VclPtr [16] include/sfx2/msg.hxx:95 SfxTypeAttrib nAID sal_uInt16 include/sfx2/msg.hxx:96 @@ -288,17 +302,33 @@ include/sfx2/msg.hxx:118 SfxType0 pType const std::type_info * include/sfx2/sidebar/ResourceManager.hxx:108 sfx2::sidebar::ResourceManager maMiscOptions class SvtMiscOptions -include/svl/ondemand.hxx:59 +include/svl/adrparse.hxx:52 + SvAddressParser m_bHasFirst _Bool +include/svl/ondemand.hxx:58 OnDemandLocaleDataWrapper aSysLocale class SvtSysLocale include/svtools/editsyntaxhighlighter.hxx:33 MultiLineEditSyntaxHighlight m_aColorConfig svtools::ColorConfig +include/svtools/inettbc.hxx:100 + URLBox aBaseURL class rtl::OUString +include/svtools/inettbc.hxx:101 + URLBox aPlaceHolder class rtl::OUString +include/svtools/inettbc.hxx:104 + URLBox eSmartProtocol enum INetProtocol +include/svtools/inettbc.hxx:105 + URLBox bOnlyDirectories _Bool +include/svtools/inettbc.hxx:106 + URLBox bHistoryDisabled _Bool +include/svx/sdr/overlay/overlayanimatedbitmapex.hxx:51 + sdr::overlay::OverlayAnimatedBitmapEx mbOverlayState _Bool include/svx/sdr/overlay/overlaymanager.hxx:73 sdr::overlay::OverlayManager maDrawinglayerOpt class SvtOptionsDrawinglayer include/svx/svdmark.hxx:140 SdrMarkList maPointName class rtl::OUString include/svx/svdmark.hxx:141 SdrMarkList maGluePointName class rtl::OUString -include/svx/svdpntv.hxx:142 +include/svx/svdoedge.hxx:161 + SdrEdgeObj mbBoundRectCalculationRunning _Bool +include/svx/svdpntv.hxx:169 SdrPaintView maDrawinglayerOpt class SvtOptionsDrawinglayer include/test/sheet/xdatapilottable.hxx:31 apitest::XDataPilotTable xCellForChange css::uno::Reference @@ -309,7 +339,7 @@ include/test/sheet/xnamedranges.hxx:38 include/test/sheet/xspreadsheets2.hxx:46 apitest::XSpreadsheets2 xDocument css::uno::Reference include/unoidl/unoidl.hxx:443 - unoidl::ConstantValue union unoidl::ConstantValue::(anonymous at /media/noel/disk2/libo4/include/unoidl/unoidl.hxx:443:5) + unoidl::ConstantValue union unoidl::ConstantValue::(anonymous at /home/noel/libo3/include/unoidl/unoidl.hxx:443:5) include/unoidl/unoidl.hxx:444 unoidl::ConstantValue::(anonymous) booleanValue _Bool include/unoidl/unoidl.hxx:445 @@ -340,6 +370,10 @@ include/vcl/filter/pdfdocument.hxx:174 vcl::filter::PDFNameElement m_nLength sal_uInt64 include/vcl/opengl/OpenGLContext.hxx:57 OpenGLCapabilitySwitch mbLimitedShaderRegisters _Bool +include/vcl/opengl/OpenGLContext.hxx:180 + OpenGLContext mpLastFramebuffer class OpenGLFramebuffer * +include/vcl/ppdparser.hxx:134 + psp::PPDParser::PPDConstraint m_pKey1 const class psp::PPDKey * include/xmloff/nmspmap.hxx:70 SvXMLNamespaceMap sEmpty const class rtl::OUString libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx:51 @@ -390,18 +424,24 @@ sal/rtl/uuid.cxx:64 UUID clock_seq_low sal_uInt8 sal/rtl/uuid.cxx:65 UUID node sal_uInt8 [6] +sc/inc/chartlis.hxx:72 + ScChartListener bSeriesRangesScheduled _Bool sc/inc/compiler.hxx:126 ScRawToken::(anonymous union)::(anonymous) eItem class ScTableRefToken::Item sc/inc/compiler.hxx:127 - ScRawToken::(anonymous) table struct (anonymous struct at /media/noel/disk2/libo4/sc/inc/compiler.hxx:124:9) + ScRawToken::(anonymous) table struct (anonymous struct at /home/noel/libo3/sc/inc/compiler.hxx:124:9) sc/inc/compiler.hxx:132 ScRawToken::(anonymous) pMat class ScMatrix * sc/inc/formulagroup.hxx:42 sc::FormulaGroupEntry::(anonymous) mpCells class ScFormulaCell ** sc/inc/reordermap.hxx:21 sc::ColRowReorderMapType maData sc::ColRowReorderMapType::DataType +sc/source/core/inc/adiasync.hxx:41 + ScAddInAsync::(anonymous) pStr class rtl::OUString * sc/source/core/inc/interpre.hxx:105 ScTokenStack pPointer const formula::FormulaToken *[512] +sc/source/core/opencl/formulagroupcl.cxx:1239 + sc::opencl::ParallelReductionVectorRef mpClmem2 cl_mem sc/source/filter/inc/autofilterbuffer.hxx:178 oox::xls::FilterColumn mxSettings std::shared_ptr sc/source/filter/inc/commentsbuffer.hxx:42 @@ -410,6 +450,8 @@ sc/source/filter/inc/defnamesbuffer.hxx:84 oox::xls::DefinedNameBase maRefAny css::uno::Any sc/source/filter/inc/htmlpars.hxx:56 ScHTMLStyles maEmpty const class rtl::OUString +sc/source/filter/inc/namebuff.hxx:85 + RangeNameBufferWK3::Entry nAbsInd sal_uInt16 sc/source/filter/inc/qproform.hxx:57 QProToSc mnAddToken struct TokenId sc/source/filter/inc/stylesbuffer.hxx:675 @@ -422,10 +464,14 @@ sc/source/filter/inc/xepage.hxx:122 XclExpChartPageSettings maData struct XclPageData sc/source/filter/inc/xltracer.hxx:82 XclTracer mbEnabled _Bool +sc/source/filter/xml/xmlcelli.hxx:96 + ScXMLTableRowCellContext mbEditEngineHasText _Bool sc/source/ui/inc/csvruler.hxx:35 ScCsvRuler maBackgrDev ScopedVclPtrInstance sc/source/ui/inc/csvruler.hxx:36 ScCsvRuler maRulerDev ScopedVclPtrInstance +sc/source/ui/inc/tabcont.hxx:38 + ScTabControl bErrorShown _Bool sc/source/ui/vba/vbaformatconditions.hxx:35 ScVbaFormatConditions mxSheetConditionalEntries css::uno::Reference sc/source/ui/vba/vbaformatconditions.hxx:36 @@ -434,6 +480,8 @@ sc/source/ui/vba/vbaformatconditions.hxx:37 ScVbaFormatConditions mxRangeParent css::uno::Reference sc/source/ui/vba/vbaformatconditions.hxx:38 ScVbaFormatConditions mxParentRangePropertySet css::uno::Reference +sd/inc/Outliner.hxx:282 + SdOutliner mpFirstObj class SdrObject * sd/inc/sdmod.hxx:118 SdModule gImplImpressPropertySetInfoCache SdExtPropertySetInfoCache sd/inc/sdmod.hxx:119 @@ -450,6 +498,8 @@ sd/source/ui/sidebar/MasterPageContainer.cxx:154 sd::sidebar::MasterPageContainer::Implementation maLargePreviewNotAvailable class Image sd/source/ui/sidebar/MasterPageContainer.cxx:155 sd::sidebar::MasterPageContainer::Implementation maSmallPreviewNotAvailable class Image +sd/source/ui/slideshow/showwindow.hxx:103 + sd::ShowWindow mbMouseCursorHidden _Bool sd/source/ui/slidesorter/inc/controller/SlsAnimator.hxx:97 sd::slidesorter::controller::Animator maElapsedTime ::canvas::tools::ElapsedTime sd/source/ui/table/TableDesignPane.hxx:99 @@ -468,14 +518,16 @@ starmath/source/view.cxx:855 SmViewShell_Impl aOpts class SvtMiscOptions store/source/storbios.cxx:59 OStoreSuperBlock m_aMarked OStoreSuperBlock::L -svl/source/crypto/cryptosign.cxx:280 +svl/source/crypto/cryptosign.cxx:279 (anonymous namespace)::(anonymous) status SECItem -svl/source/crypto/cryptosign.cxx:301 +svl/source/crypto/cryptosign.cxx:300 (anonymous namespace)::(anonymous) timeStampToken SECItem svl/source/misc/strmadpt.cxx:55 SvDataPipe_Impl::Page m_aBuffer sal_Int8 [1] svl/source/uno/pathservice.cxx:36 PathService m_aOptions class SvtPathOptions +svtools/source/contnr/fileview.cxx:331 + SvtFileView_Impl mpNameTrans class NameTranslator_Impl * svtools/source/control/headbar.cxx:38 ImplHeadItem maHelpId class rtl::OString svtools/source/control/headbar.cxx:39 @@ -498,10 +550,12 @@ svtools/source/dialogs/insdlg.cxx:52 OleObjectDescriptor dwFullUserTypeName sal_uInt32 svtools/source/dialogs/insdlg.cxx:53 OleObjectDescriptor dwSrcOfCopy sal_uInt32 -svtools/source/table/gridtablerenderer.cxx:70 +svtools/source/table/gridtablerenderer.cxx:69 svt::table::CachedSortIndicator m_sortAscending class BitmapEx -svtools/source/table/gridtablerenderer.cxx:71 +svtools/source/table/gridtablerenderer.cxx:70 svt::table::CachedSortIndicator m_sortDescending class BitmapEx +svx/inc/sdr/overlay/overlayrectangle.hxx:44 + sdr::overlay::OverlayRectangle mbOverlayState _Bool svx/source/inc/datanavi.hxx:225 svxform::XFormsPage m_aMethodString class svxform::MethodString svx/source/inc/datanavi.hxx:226 @@ -520,6 +574,10 @@ sw/inc/calc.hxx:194 SwCalc m_aSysLocale class SvtSysLocale sw/inc/hints.hxx:188 SwAttrSetChg m_bDelSet _Bool +sw/inc/htmltbl.hxx:177 + SwHTMLTableLayout m_pLeftFillerBox class SwTableBox * +sw/inc/htmltbl.hxx:178 + SwHTMLTableLayout m_pRightFillerBox class SwTableBox * sw/inc/shellio.hxx:140 SwReader pStg tools::SvRef sw/inc/swevent.hxx:71 @@ -532,8 +590,12 @@ sw/source/core/doc/swstylemanager.cxx:59 SwStyleManager aAutoParaPool class StylePool sw/source/core/doc/tblrwcl.cxx:83 CpyTabFrame::(anonymous) nSize SwTwips +sw/source/core/inc/swblocks.hxx:68 + SwImpBlocks m_bInPutMuchBlocks _Bool sw/source/core/text/atrhndl.hxx:48 SwAttrHandler::SwAttrStack pInitialArray class SwTextAttr *[3] +sw/source/filter/html/swhtml.hxx:497 + SwHTMLParser m_bBodySeen _Bool sw/source/filter/inc/rtf.hxx:32 RTFSurround::(anonymous) nVal sal_uInt8 sw/source/ui/dbui/dbinsdlg.cxx:115 @@ -552,7 +614,7 @@ sw/source/uibase/inc/labimg.hxx:49 SwLabItem m_aBin class rtl::OUString sw/source/uibase/inc/optload.hxx:94 CaptionComboBox aDefault class rtl::OUString -toolkit/source/awt/vclxtoolkit.cxx:432 +toolkit/source/awt/vclxtoolkit.cxx:433 (anonymous namespace)::VCLXToolkit mxSelection css::uno::Reference ucb/source/ucp/gio/gio_mount.hxx:46 OOoMountOperationClass parent_class GMountOperationClass @@ -596,7 +658,7 @@ unoidl/source/unoidlprovider.cxx:456 unoidl::detail::MapEntry data struct unoidl::detail::(anonymous namespace)::Memory32 unotools/source/config/pathoptions.cxx:90 SvtPathOptions_Impl m_aEmptyString class rtl::OUString -unotools/source/config/saveopt.cxx:78 +unotools/source/config/saveopt.cxx:77 SvtSaveOptions_Impl bROUserAutoSave _Bool vcl/inc/printerinfomanager.hxx:73 psp::PrinterInfoManager::SystemPrintQueue m_aComment class rtl::OUString diff --git a/compilerplugins/clang/unusedfields.untouched.results b/compilerplugins/clang/unusedfields.untouched.results index bd61aa8e9a08..e2cb089eb3a9 100644 --- a/compilerplugins/clang/unusedfields.untouched.results +++ b/compilerplugins/clang/unusedfields.untouched.results @@ -5,9 +5,9 @@ avmedia/source/vlc/wrapper/Types.hxx:44 avmedia/source/vlc/wrapper/Types.hxx:45 libvlc_event_t::(anonymous union)::(anonymous) dummy2 const char * avmedia/source/vlc/wrapper/Types.hxx:46 - libvlc_event_t::(anonymous) padding struct (anonymous struct at /media/noel/disk2/libo4/avmedia/source/vlc/wrapper/Types.hxx:43:7) + libvlc_event_t::(anonymous) padding struct (anonymous struct at /home/noel/libo3/avmedia/source/vlc/wrapper/Types.hxx:43:7) avmedia/source/vlc/wrapper/Types.hxx:47 - libvlc_event_t u union (anonymous union at /media/noel/disk2/libo4/avmedia/source/vlc/wrapper/Types.hxx:41:5) + libvlc_event_t u union (anonymous union at /home/noel/libo3/avmedia/source/vlc/wrapper/Types.hxx:41:5) avmedia/source/vlc/wrapper/Types.hxx:53 libvlc_track_description_t psz_name char * basctl/source/inc/dlged.hxx:122 @@ -76,12 +76,6 @@ include/svtools/unoevent.hxx:162 SvEventDescriptor xParentRef css::uno::Reference include/svx/ClassificationDialog.hxx:63 svx::ClassificationDialog m_nInsertMarkings sal_Int16 -include/svx/xmlgrhlp.hxx:60 - SvXMLGraphicHelper maGrfURLs SvXMLGraphicHelper::URLPairVector -include/svx/xmlgrhlp.hxx:61 - SvXMLGraphicHelper maGrfObjs SvXMLGraphicHelper::GraphicObjectVector -include/svx/xmlgrhlp.hxx:63 - SvXMLGraphicHelper maURLSet ::std::set include/vcl/pdfwriter.hxx:548 vcl::PDFWriter::PDFSignContext m_pDerEncoded sal_Int8 * include/vcl/pdfwriter.hxx:550 @@ -180,15 +174,15 @@ sd/source/ui/table/TableDesignPane.hxx:113 sd::TableDesignPane aImpl class sd::TableDesignWidget sd/source/ui/view/DocumentRenderer.cxx:1319 sd::DocumentRenderer::Implementation mxObjectShell SfxObjectShellRef -sd/source/ui/view/viewshel.cxx:1217 +sd/source/ui/view/viewshel.cxx:1215 sd::KeepSlideSorterInSyncWithPageChanges m_aDrawLock sd::slidesorter::view::class SlideSorterView::DrawLock -sd/source/ui/view/viewshel.cxx:1218 +sd/source/ui/view/viewshel.cxx:1216 sd::KeepSlideSorterInSyncWithPageChanges m_aModelLock sd::slidesorter::controller::class SlideSorterController::ModelChangeLock -sd/source/ui/view/viewshel.cxx:1219 +sd/source/ui/view/viewshel.cxx:1217 sd::KeepSlideSorterInSyncWithPageChanges m_aUpdateLock sd::slidesorter::controller::class PageSelector::UpdateLock -sd/source/ui/view/viewshel.cxx:1220 +sd/source/ui/view/viewshel.cxx:1218 sd::KeepSlideSorterInSyncWithPageChanges m_aContext sd::slidesorter::controller::class SelectionObserver::Context -sd/source/ui/view/ViewShellBase.cxx:193 +sd/source/ui/view/ViewShellBase.cxx:191 sd::ViewShellBase::Implementation mpPageCacheManager std::shared_ptr sfx2/source/doc/doctempl.cxx:115 DocTempl::DocTempl_EntryData_Impl mxObjShell class SfxObjectShellLock @@ -202,24 +196,22 @@ starmath/inc/view.hxx:218 SmViewShell maGraphicController class SmGraphicController starmath/source/accessibility.hxx:273 SmEditSource rEditAcc class SmEditAccessible & -svl/source/crypto/cryptosign.cxx:121 +svl/source/crypto/cryptosign.cxx:120 (anonymous namespace)::(anonymous) extnID SECItem -svl/source/crypto/cryptosign.cxx:122 +svl/source/crypto/cryptosign.cxx:121 (anonymous namespace)::(anonymous) critical SECItem -svl/source/crypto/cryptosign.cxx:123 +svl/source/crypto/cryptosign.cxx:122 (anonymous namespace)::(anonymous) extnValue SECItem -svl/source/crypto/cryptosign.cxx:281 +svl/source/crypto/cryptosign.cxx:280 (anonymous namespace)::(anonymous) statusString SECItem -svl/source/crypto/cryptosign.cxx:282 +svl/source/crypto/cryptosign.cxx:281 (anonymous namespace)::(anonymous) failInfo SECItem svtools/source/svhtml/htmlkywd.cxx:558 - HTML_OptionEntry union HTML_OptionEntry::(anonymous at /media/noel/disk2/libo4/svtools/source/svhtml/htmlkywd.cxx:558:5) + HTML_OptionEntry union HTML_OptionEntry::(anonymous at /home/noel/libo3/svtools/source/svhtml/htmlkywd.cxx:558:5) svtools/source/svhtml/htmlkywd.cxx:560 HTML_OptionEntry::(anonymous) sToken const sal_Char * svtools/source/svhtml/htmlkywd.cxx:561 HTML_OptionEntry::(anonymous) pUToken const class rtl::OUString * -sw/inc/ddefld.hxx:42 - sw::InRangeSearchHint m_rNodes class SwNodes & sw/source/core/crsr/crbm.cxx:64 (anonymous namespace)::CursorStateHelper m_aSaveState class SwCursorSaveState sw/source/core/frmedt/fetab.cxx:77 @@ -230,10 +222,6 @@ sw/source/uibase/inc/splittbl.hxx:30 SwSplitTableDlg m_xHorzBox std::unique_ptr sw/source/uibase/inc/splittbl.hxx:31 SwSplitTableDlg m_xContentCopyRB std::unique_ptr -sw/source/uibase/inc/srtdlg.hxx:32 - SwSortDlg m_xTypLbl std::unique_ptr -sw/source/uibase/inc/tautofmt.hxx:41 - SwAutoFormatDlg m_xFormatting std::unique_ptr sw/source/uibase/inc/uivwimp.hxx:95 SwView_Impl xTmpSelDocSh class SfxObjectShellLock sw/source/uibase/inc/unodispatch.hxx:46 @@ -262,5 +250,7 @@ vcl/source/gdi/jobset.cxx:35 ImplOldJobSetupData cPortName char [32] vcl/source/uitest/uno/uitest_uno.cxx:35 UITestUnoObj mpUITest std::unique_ptr +vcl/unx/gtk3/gtk3gtkinst.cxx:1937 + CrippledViewport viewport GtkViewport vcl/unx/gtk/a11y/atkhypertext.cxx:29 (anonymous) atk_hyper_link AtkHyperlink diff --git a/compilerplugins/clang/unusedfields.writeonly.results b/compilerplugins/clang/unusedfields.writeonly.results index 9fbc90d76dfb..bde0bf943e7a 100644 --- a/compilerplugins/clang/unusedfields.writeonly.results +++ b/compilerplugins/clang/unusedfields.writeonly.results @@ -216,7 +216,7 @@ framework/inc/services/layoutmanager.hxx:258 framework::LayoutManager m_bGlobalSettings _Bool framework/source/layoutmanager/toolbarlayoutmanager.hxx:285 framework::ToolbarLayoutManager m_bGlobalSettings _Bool -framework/source/services/frame.cxx:422 +framework/source/services/frame.cxx:421 (anonymous namespace)::Frame m_pWindowCommandDispatch class framework::WindowCommandDispatch * include/basic/basmgr.hxx:52 BasicError nReason enum BasicErrorReason @@ -236,6 +236,8 @@ include/editeng/adjustitem.hxx:39 SvxAdjustItem bLeft _Bool include/LibreOfficeKit/LibreOfficeKit.h:108 _LibreOfficeKitDocumentClass nSize size_t +include/LibreOfficeKit/LibreOfficeKit.h:310 + _LibreOfficeKitDocumentClass getPartInfo char *(*)(LibreOfficeKitDocument *, int) include/opencl/openclwrapper.hxx:36 openclwrapper::KernelEnv mpkProgram cl_program include/opencl/openclwrapper.hxx:52 @@ -252,14 +254,10 @@ include/svx/float3d.hxx:177 Svx3DWin pControllerItem class Svx3DCtrlItem * include/svx/imapdlg.hxx:118 SvxIMapDlg aIMapItem class SvxIMapDlgItem -include/svx/langbox.hxx:158 - LanguageBox m_bWithCheckmark _Bool -include/svx/srchdlg.hxx:232 +include/svx/srchdlg.hxx:234 SvxSearchDialog pSearchController class SvxSearchController * -include/svx/srchdlg.hxx:233 +include/svx/srchdlg.hxx:235 SvxSearchDialog pOptionsController class SvxSearchController * -include/svx/xmlgrhlp.hxx:70 - SvXMLGraphicHelper mbDirect _Bool include/vcl/opengl/OpenGLContext.hxx:41 GLWindow bMultiSampleSupported _Bool include/vcl/salnativewidgets.hxx:415 @@ -388,7 +386,7 @@ sc/source/filter/xml/xmldrani.hxx:75 ScXMLDatabaseRangeContext bIsSelection _Bool sc/source/filter/xml/xmlexternaltabi.hxx:113 ScXMLExternalRefCellContext mnCellType sal_Int16 -sc/source/ui/inc/AccessibleText.hxx:195 +sc/source/ui/inc/AccessibleText.hxx:194 ScAccessiblePreviewHeaderCellTextData mbRowHeader _Bool sc/source/ui/inc/datastream.hxx:108 sc::DataStream mnSettings sal_uInt32 @@ -408,7 +406,7 @@ sd/source/filter/ppt/ppt97animations.hxx:51 Ppt97AnimationInfoAtom nUnknown1 sal_uInt8 sd/source/filter/ppt/ppt97animations.hxx:52 Ppt97AnimationInfoAtom nUnknown2 sal_uInt8 -sd/source/ui/inc/animobjs.hxx:129 +sd/source/ui/inc/animobjs.hxx:128 sd::AnimationWindow pControllerItem class sd::AnimationControllerItem * sd/source/ui/inc/navigatr.hxx:123 SdNavigatorWin mpNavigatorCtrlItem class SdNavigatorControllerItem * @@ -440,17 +438,17 @@ starmath/inc/view.hxx:158 SmCmdBoxWindow aController class SmEditController store/source/storbase.hxx:248 store::PageData m_aMarked store::PageData::L -svl/source/crypto/cryptosign.cxx:145 +svl/source/crypto/cryptosign.cxx:144 (anonymous namespace)::(anonymous) version SECItem -svl/source/crypto/cryptosign.cxx:147 +svl/source/crypto/cryptosign.cxx:146 (anonymous namespace)::(anonymous) reqPolicy SECItem -svl/source/crypto/cryptosign.cxx:148 +svl/source/crypto/cryptosign.cxx:147 (anonymous namespace)::(anonymous) nonce SECItem -svl/source/crypto/cryptosign.cxx:149 +svl/source/crypto/cryptosign.cxx:148 (anonymous namespace)::(anonymous) certReq SECItem -svl/source/crypto/cryptosign.cxx:150 +svl/source/crypto/cryptosign.cxx:149 (anonymous namespace)::(anonymous) extensions (anonymous namespace)::Extension * -svl/source/crypto/cryptosign.cxx:194 +svl/source/crypto/cryptosign.cxx:193 (anonymous namespace)::SigningCertificateV2 certs struct (anonymous namespace)::ESSCertIDv2 ** svl/source/misc/inethist.cxx:48 INetURLHistory_Impl::head_entry m_nMagic sal_uInt32 @@ -499,7 +497,7 @@ sw/source/filter/inc/rtf.hxx:29 sw/source/filter/inc/rtf.hxx:30 RTFSurround::(anonymous union)::(anonymous) nJunk sal_uInt8 sw/source/filter/inc/rtf.hxx:31 - RTFSurround::(anonymous) Flags struct (anonymous struct at /media/noel/disk2/libo4/sw/source/filter/inc/rtf.hxx:27:9) + RTFSurround::(anonymous) Flags struct (anonymous struct at /home/noel/libo3/sw/source/filter/inc/rtf.hxx:27:9) ucb/source/ucp/gio/gio_mount.hxx:46 OOoMountOperationClass parent_class GMountOperationClass ucb/source/ucp/gio/gio_mount.hxx:49 @@ -576,5 +574,5 @@ vcl/unx/gtk/hudawareness.cxx:20 (anonymous) connection GDBusConnection * vcl/unx/gtk/hudawareness.cxx:23 (anonymous) notify GDestroyNotify -writerfilter/source/dmapper/PropertyMap.hxx:199 +writerfilter/source/dmapper/PropertyMap.hxx:198 writerfilter::dmapper::SectionPropertyMap m_nDebugSectionNumber sal_Int32 -- cgit v1.2.3