...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in
preparation of enabling -Wimplicit-fallthrough. (This is only relevant for
C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.)
Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but
that would require adding back in dependencies on boost_headers to many
libraries where we carefully removed any remaining Boost dependencies only
recently. (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its
future evolution will not have any impact on the stable URE interface.) C++17
will have a proper [[fallthroug]], eventually removing the need for a macro
altogether.
Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
(at least for LIBO_INTERNAL_ONLY), to help further reduce the occurrences of
sal_Bool across the code base
Change-Id: I70654a0cb56655984c717b7b894f26c9ab47536e
...which only happens ot work in environments where sizeof (bool) == 1. The
simpler alternative is to use the operator <<= template without passing explicit
UNO type information, anyway.
The std::nullptr_t overloads are needed to disambiguate calls with a nullptr
argument. (Which can at least be meaningful for VOID, but for other types what
it happens to do is store a default value of the given type.) As std::nullptr_t
is only C++11, this all needs to be LIBO_INTERNAL_ONLY.
Change-Id: Iff06a6ba94250bd4ae4afc937c2a2bfa75f0888f
Searched source for using declarations.
Checked if those symbols reappear in the source file,
even in comments or dead code but not in #include statements.
If they don't reappear, remove the declaration.
Remove includes whose symbol got removed.
Change-Id: Ibb77163f63c1120070e9518e3dc0a78c6c59fab0
Reviewed-on: https://gerrit.libreoffice.org/24148
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Sequence.h(xx), Any.h(xx) and Type.h(xx)
and remove unused using-declarations from these files.
Add a few missing includes provided by them.
Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4
Reviewed-on: https://gerrit.libreoffice.org/23805
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Mark some class methods as pure.
warnings look like this:
> dbaccess/source/core/api/RowSetBase.cxx
> 593 assertWithSideEffect 398 warning Assert statement calls
> a function which may have desired side effects: 'isAfterLast'.
Change-Id: I1b69340c3714be4678b599fa9a8ca933122aa857
Reviewed-on: https://gerrit.libreoffice.org/23981
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
insertRow notifies listeners that it is going to insert contents,
if a script listens to that and eventually triggers insertRow again then
one inside the other causes corruption and pestilence
Change-Id: I6b568d0a67f6108536d58c407b79d02bf29f297a
bibliography: click autofilter toolbar icon to get drop down, select an
entry and assert on use of invalid iterators.
In this specific case we want to reset them all, so add a new simpler
method to just do that and not do the (always supposed to be true) comparison
note: in ORowSet::checkUpdateIterator
at m_aCurrentRow = m_pCache->m_aInsertRow; these iterators are then invalid
the whole iterator caching and fiddling here is concerning.
Change-Id: I74952896f47ac482b6bacb26afe5b1cfcf6bc49c
A ridiculously fast way of doing this is:
for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
--exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
perl -0777 -i -pe 's/^
{3,}/
/gm' $i
done
Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.
Switch all our internal use-sites to the new class.
Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88