diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-09-15 19:13:19 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-09-17 09:05:38 +0200 |
commit | 206b5b2661be37efdff3c6aedb6f248c4636be79 (patch) | |
tree | af385e5b4725dcfea23988d9113cced8e9ccaf3c /sfx2/source/view | |
parent | a85d3ba1c0de313b60324b9ecfa488bb99d69d06 (diff) |
New loplugin:external
...warning about (for now only) functions and variables with external linkage
that likely don't need it.
The problems with moving entities into unnamed namespacs and breaking ADL
(as alluded to in comments in compilerplugins/clang/external.cxx) are
illustrated by the fact that while
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
returns 1, both moving just the struct S2 into an nunnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
namespace { struct S2: S1 { int f() { return 1; } }; }
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
as well as moving just the function f overload into an unnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
namespace { int f(S2 s) { return s.f(); } }
}
int main() { return f(N::S2()); }
would each change the program to return 0 instead.
Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
Reviewed-on: https://gerrit.libreoffice.org/60539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sfx2/source/view')
-rw-r--r-- | sfx2/source/view/sfxbasecontroller.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/view/viewfrm.cxx | 4 | ||||
-rw-r--r-- | sfx2/source/view/viewsh.cxx | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx index 6c7bc18bb719..a4d268eb134b 100644 --- a/sfx2/source/view/sfxbasecontroller.cxx +++ b/sfx2/source/view/sfxbasecontroller.cxx @@ -179,7 +179,7 @@ sal_uInt32 Get10ThSec() static sal_Int32 m_nInReschedule = 0; /// static counter for rescheduling -void reschedule() +static void reschedule() { if ( m_nInReschedule == 0 ) { diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 918cc51edc18..33cd93852e32 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -2201,7 +2201,7 @@ void SfxViewFrame::ExecView_Impl TODO: export special helper "framework::FrameListAnalyzer" within the framework module and use it here. */ -bool impl_maxOpenDocCountReached() +static bool impl_maxOpenDocCountReached() { css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); boost::optional<sal_Int32> x(officecfg::Office::Common::Misc::MaxOpenDocuments::get(xContext)); @@ -2399,7 +2399,7 @@ void SfxViewFrame::Resize( bool bForce ) #define LINE_SEP 0x0A -void CutLines( OUString& rStr, sal_Int32 nStartLine, sal_Int32 nLines ) +static void CutLines( OUString& rStr, sal_Int32 nStartLine, sal_Int32 nLines ) { sal_Int32 nStartPos = 0; sal_Int32 nLine = 0; diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index 124ef2bd38e4..f00c976b5e9f 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -296,7 +296,7 @@ enum ETypeFamily E_OOO_DOC }; -OUString impl_searchFormatTypeForApp(const css::uno::Reference< css::frame::XFrame >& xFrame , +static OUString impl_searchFormatTypeForApp(const css::uno::Reference< css::frame::XFrame >& xFrame , ETypeFamily eTypeFamily) { try @@ -1769,7 +1769,7 @@ void SfxViewShell::RemoveContextMenuInterceptor_Impl( const uno::Reference< ui:: pImpl->aInterceptorContainer.removeInterface( xInterceptor ); } -void Change( Menu* pMenu, SfxViewShell* pView ) +static void Change( Menu* pMenu, SfxViewShell* pView ) { SfxDispatcher *pDisp = pView->GetViewFrame()->GetDispatcher(); sal_uInt16 nCount = pMenu->GetItemCount(); |