Age | Commit message (Collapse) | Author |
|
Change-Id: I82140569a3e09225065d721e4aeac5c5fe93bc45
|
|
...other options to avoid such irrelevant warnings can be to move code to an
include file and/or to define a dummy main() accessing otherwise unreferenced
entities.
Change-Id: Ifd44e376b35ef68496f3aba6a3c046d684824000
|
|
look for final classes, and make sure they don't have protected members
Change-Id: I1fa810659bba02b61a5160dbfd8e24185ec9abf4
Reviewed-on: https://gerrit.libreoffice.org/30895
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...to check that loplugin produces warnings/errors as expected:
* Clang has a -verify switch that makes it easy to write test input .cxx files
that list in comments all the warnings/errors that are expected, and let Clang
check those expectations instead of generating object code. See
include/clang/Frontend/VerifyDiagnosticConsumer.h in the Clang source tree for
documentation.
* Introduce a CompilerTest gbuild class that uses the existing LinkTarget class
as much as possible. Checking the input files is implicitly phony, as the
compilation step doesn't generate any object files, and the link step does
nothing because there is no gb_LinkTarget_set_targettype for CompilerTest.
The setup at least works for Clang on Linux (will need adaptions for Clang on
Windows; compilers other than Clang are not relevant for now given this is
used to check compilerplugins).
* Definition of gb_CFLAGS_WERROR in solenv/gbuild/platform/com_GCC_defs.mk needs
to be lazy ('=' vs. ':=') so that CompilerTest can override it: The Clang
-verify mode wants the input files to specify whether the loplugin diagnostics
are warnings or errros, so they consistently need to be errors independent of
--enable-werror configuration.
* A first (example) test is in compilerplugins/clang/test/salbool.cxx. The
corresponding gbuild CompilerTest instance is in
solenv/CompilerTest_compilerplugins_clang.mk for now. The reason for that odd
split across compilerplugins/ and solenv/ is that there is no
compilerplugins/Modules_compilerplugins.mk file, so this setup is the easiest
hack for now (to be cleaned up). (Another area that could be improved is that
all test files need to be listed explicitly in the CompilerTest_*.mk file,
instead of, say, using all .c/.cxx/.m/.mm files in a specified directory.)
* The test is run somewhat late during a top-level 'make', after loplugin has
already been used in compilation. But it can be run manually (e.g., 'make
solenv') when making changes to loplugin during development.
Change-Id: I01e12fb84887d264ac03ef2484807458c2075af4
|
|
...a few lines up, together with CXXConstructorDecl
Change-Id: Id9afd4d3936b2efb92de3c6ab950da78d876a5a8
|
|
doesn't work right now
Change-Id: I43693104f4af204a6bd0c22b0f7ef53c1a14bb6e
|
|
... through MacroChooser
Without this, current document's macros library is unavailable in
"Assign" dialog
Change-Id: I83baa3b98858260eab61e8f4fefde3f9979c6d83
Reviewed-on: https://gerrit.libreoffice.org/30600
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Look for places where we are accidentally assigning a returned-by-value
VclPtr<T> to a T*, which generally ends up in a use-after-free.
Change-Id: I4f361eaca88820cdb7aa3b8340212db61580fdd9
Reviewed-on: https://gerrit.libreoffice.org/30749
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I44fb6858eeff14fcbd9fdfbbb0aabd1433b6a27d
Reviewed-on: https://gerrit.libreoffice.org/30668
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
As per IRC 2016-11-04 12:21
Change-Id: Ic4cc7f67fb31be80a966c652cb30bb859f874a8b
|
|
Change-Id: I33790862cfe40693921d07182ccf4645c3ef28a3
|
|
and update modules writerfilter..xmloff with the resulting changes
Change-Id: I54d19c22ddb0ff579b32e4934d266c925b19305c
Reviewed-on: https://gerrit.libreoffice.org/30530
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I96634c18ba6600f8f7d5d04a162dcd7e1e312923
Reviewed-on: https://gerrit.libreoffice.org/30474
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
not worth the spaghetti of making it work across version
Change-Id: I0de923b16fb6d58cbad55adc9878ab39bc0c86ae
|
|
Change-Id: I1e4fbb06578b2b1d6de4b57507693b014d36cd3a
|
|
Most of its virtual member functions are (though insertRow is already a curious
exception), even though they are defined, so smells like a copy/paste error
rather than deliberate design. And appears to have been the only reason why
loplugin:unnecessaryoverride filtered out such overriding of pure base
functions.
Change-Id: Ib2a40af9cd3cd3dbb26c4147f7d01de4e11f5f6e
|
|
Change-Id: Id78d694cf7271a6abf94234958ab623cf1cd93a5
|
|
Change-Id: I91f7fc6b8419c0ed82194726eeb4c4657e998f22
Reviewed-on: https://gerrit.libreoffice.org/30428
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is what it is actually is, we dropped support for server-side fonts
for a long time now. Renamed also a few related classes, but left
ServerFontLayout* ones as they will go away soonish.
Change-Id: I68a6dad51b6972368b7bf85a0b9c8089cc12740e
Reviewed-on: https://gerrit.libreoffice.org/30390
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
which can be replaced with using declarations.
Is there a more efficient way to code the search? Seems to slow the
build down a little.
Change-Id: I08cda21fa70dce6572e1acc71bf5e6df36bb951f
Reviewed-on: https://gerrit.libreoffice.org/30157
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4c437491466c3029f2a9c93fb630c7b5a8d2ff21
|
|
Let's hope it only catches false positives now.
noelgrandin agrees.
Change-Id: Ibd8310c31897aa6835bd6aaf90a49b5cd8f92948
|
|
where using a std::map instead of a std::set meant that it
sometimes miscounted the number of callsites
Change-Id: I1e2ebcf44fe006827e66620ae4c9bbc813835414
|
|
...that got in, for no apparent reason, when various, slightly different
implementations of isInUnoIncludeFile got consolidated into one.
Change-Id: I64a9eb62703d57a0b7b57720ec9f251ffa780691
|
|
Change-Id: Ifadab184876163195ea3307ec32d2eed4ee00b92
|
|
Change-Id: Iec2c5e13119d97c9ca87e083c0f7cb00227e5231
Reviewed-on: https://gerrit.libreoffice.org/29997
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9e0585460d908024f75a1134bc1cd20d12ea3b4e
|
|
and add support for nested functions
Change-Id: I63daee5b3047fa1ed5de0e5ddaf998f8b17bc780
|
|
Change-Id: If470e1d9b481c9eda0829aa985152baf8fb46d7a
|
|
Change-Id: I72750a14664aa042da232c35cca3373ce367cfb0
|
|
- publicDefinitionSet is unnecessary, the python post-processor does not
need it
- remove the traversing of templates, clang will do that for us since we
have set the shouldVisitTemplateInstantiations() method
Change-Id: I0e96dad0b1cc941fe6c4a2e9227e86d8c3f1d85a
|
|
look for methods that are:
(*) non-virtual
(*) only called once
(*) only called from inside their own class
(*) small i.e. < 40 characters
which are candidates for just having their code inlined
Change-Id: I0e9e8125d140282cdcdd2a77374059b17b2fcd7d
|
|
Change-Id: I94c9676e52a3c60ad70567396a8484e844176c6e
|
|
Change-Id: If7e11dd8f6b2cb6dc19c6aa3f7e50e2e88861eac
Reviewed-on: https://gerrit.libreoffice.org/29828
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: If6cab49904fdb044d85a4fd29f79faa7b52c9959
|
|
Change-Id: Iaa9184f6145625c897fa5b919e9bf0c898b41102
|
|
Change-Id: Ieef8f00cb1f6f8fb62ad385d1085e8a63161a710
|
|
Change-Id: I5ba9c9d970246d80bb60e27e3b703ec03376c35c
|
|
Change-Id: I828ef52bc093d3fa2946f813a2dd09ac6b34e94c
|
|
Change-Id: I7b55b036c1992b88b01b51053a3560e9f97986c9
|
|
Change-Id: Iea2241d9fc44b92e18101b3f367a643f03729183
|
|
Change-Id: I08c55a3023ec2e8990098eeb60e91cd18556e7ae
Reviewed-on: https://gerrit.libreoffice.org/29656
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iea55eee0e5e777e46bb02435f10bca03e554a15c
|
|
Change-Id: I02b483c1d696913b33112b9248747f9c3d28dc55
|
|
update the plugin similarly to
commit 3ee3b36ae0c064fb5c81268d8d63444309d1b970
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Fri Oct 7 12:05:49 2016 +0200
loplugin:staticmethods: Don't be fooled by decls starting with macros
Change-Id: I98ac3216d5acf89a49a26feb089ae2fd34e6e510
Reviewed-on: https://gerrit.libreoffice.org/29665
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I58e2beb0695a27922856bd8f8988d9e4508aceb6
|
|
Change-Id: Ie41be540209b4af7c0571f7c16bedd0665daff10
|
|
Change-Id: Ifca7325533e3f7d5ce5c59cc6b14d4232d4fc792
Reviewed-on: https://gerrit.libreoffice.org/29614
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
ScAddInListener has a member
ScAddInDocs* pDocs; // documents where this is used
where ScAddInDocs is set<ScDocument*>, and ScDocument has a memmber
VclPtr<SfxPrinter> pPrinter;
so that's only a chain of (apparently non-owning) pointers.
Change-Id: I050218320eb2c588dcfaee80225f4e45a515ed32
Reviewed-on: https://gerrit.libreoffice.org/29613
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...like SAL_DLLPRIVATE coming from UNO include files.
Change-Id: I9eb64c96b7e9e2a3742a166cedcf635d98fe65a0
|