Stephan Bergmann
6b962889b2
Improved loplugin:stringconstant (now that GCC 7 supports it)
...
Change-Id: I8f83c1941b8f39b261005939f4dcf3577ae9fc6f
Reviewed-on: https://gerrit.libreoffice.org/76702
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2019-07-31 16:29:45 +02:00
Noel Grandin
574db10513
Revert "convert some plugins to use the sharedplugin infrastructure"
...
This reverts commit fc1b213d15
.
I didn't convert these correctly, the Traverse calls need
adjusting.
2019-07-15 18:18:57 +02:00
Noel Grandin
fc1b213d15
convert some plugins to use the sharedplugin infrastructure
...
Change-Id: I690d9df436abdadc51a6d3f7df686a2e37f79f73
Reviewed-on: https://gerrit.libreoffice.org/75624
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2019-07-15 15:48:48 +02:00
Noel Grandin
e02b9ccf58
revert part of "improve loplugin:stringconstant"
...
Revert part of
commit dd8d5e5795
Date: Mon Apr 29 11:18:21 2019 +0200
improve loplugin:stringconstant
sberg's original gerrit comment:
but there can also be other problematic overloads for parameters like
`void const *` or `std::string_view`. I'm not sure this change is worth
the potential false positives.
and continuing IRC discussion:
<noelgrandin> I'll revert the compilerplugins/ part
<sberg> noelgrandin, my main concern is that /if/ somebody eventually
runs into such an overload situation, it's really hard to get the
warnings/errors fixed for those people, short of going into the plugin
itself
Change-Id: I4916ce8943c4319d7ef9084e22d6a0eeb430b15c
2019-04-30 09:28:40 +02:00
Noel Grandin
dd8d5e5795
improve loplugin:stringconstant
...
to find more places we can elide the OUString() constructor at call
sites
Change-Id: Ie09f3c61f2c4b4959c97dc98ebcbaf7c51d5d713
Reviewed-on: https://gerrit.libreoffice.org/71514
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2019-04-30 08:43:51 +02:00
Andrea Gelmini
46d3efff80
Fix typo
...
Change-Id: I6e04287504cc8d4c0e3d09632ee1c7355157e5ee
Reviewed-on: https://gerrit.libreoffice.org/71500
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2019-04-29 07:04:48 +02:00
Noel Grandin
933660e591
loplugin:stringconstant look for unnecessary OString constructor use
...
and tweak the methods in check.hxx to make them more flexible when
called with
dc.Class(xxx ? "foo" : "bar")
Change-Id: I881fe628f22121ced4d8849715d6b1c92b092da1
Reviewed-on: https://gerrit.libreoffice.org/64207
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2018-11-29 09:57:15 +01:00
Noel Grandin
75dd5d2e73
add EvaluateAsInt compat function for latest clang
...
the old EvaluateAsInt method has been dropped as from current clang
Change-Id: Ie30d1547ad8de777badff4b380d2fc9fb261e8fe
Reviewed-on: https://gerrit.libreoffice.org/64107
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2018-11-27 17:16:05 +01:00
Noel Grandin
9f4d23c151
filter out some of the AST in the plugins
...
by checking if the current namespace decl is in our code, so we have to
scan less stuff, which results in a 10% perf improvement for me
Change-Id: Idf0e30d57b6d0dcd13daa9ed679c28b9d233d387
Reviewed-on: https://gerrit.libreoffice.org/58942
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2018-08-14 13:02:14 +02:00
Stephan Bergmann
3cc5149a84
Avoid -Werror=deprecated-declarations with recent Clang trunk
...
...which first added alternative names to and then deprecated getLocBegin/End
Change-Id: Iaefb8ce259057abfa6cd20f0b63c0ef2949a96b2
Reviewed-on: https://gerrit.libreoffice.org/58820
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2018-08-10 15:14:03 +02:00
Michael Stahl
ff002524c1
compilerplugins: try to make these work with icecream
...
There are some problems here, this should fix one of them: the
getFilename function returns "<stdin>" for spelling locations, because
the input to clang is sort of preprocessed via -frewrite-includes if
icecream is used and the file is built on a remote host (whereas it's
apparently not preprocessed if the file is compiled locally by icecream).
Using getPresumedLoc() uses the #line directives in the preprocessed
input, which avoids the problem but is more expensive, so try to use it
only when necessary.
The getFileEntry(getMainFileID())->getName() pattern will also result
in "<stdin>", but fortunately icecream passes -main-file-name,
which oddly enough isn't used by the SourceManager's spelling locations,
but is available separately via CodeGenOptions.
This builds everything successfully with clang version 6.0.0:
ICECC_PREFERRED_HOST=myremote make check gb_SUPPRESS_TESTS=t
Change-Id: Ic121511683e5302d7b9d85186c8b9c4a5443fa1b
Reviewed-on: https://gerrit.libreoffice.org/54993
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de >
2018-07-06 14:12:58 +02:00
Andrea Gelmini
c101df2171
Fix typos
...
Change-Id: Iedd82d035454c940d76a94c7e910c81827c1389c
Reviewed-on: https://gerrit.libreoffice.org/48828
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
Tested-by: Julien Nabet <serval2412@yahoo.fr >
2018-01-29 13:26:15 +01:00
Stephan Bergmann
b35bb38f18
Clean away temporarily added using declarations
...
Change-Id: I26734c13515394162d88351a1cbe2b20abdac865
2017-11-07 11:50:47 +01:00
Stephan Bergmann
c9f3277ea7
loplugin:stringconstant: Simplify construction of non-ASCII OUString
...
Change-Id: If80c53978106789824e6154db396baeecc1969dd
Reviewed-on: https://gerrit.libreoffice.org/42876
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
Tested-by: Stephan Bergmann <sbergman@redhat.com >
2017-09-28 08:27:11 +02:00
Stephan Bergmann
f79123a823
loplugin:stringconstant: Also handle u8"..." strings
...
(just in case)
Change-Id: Id8ce7436bacba874d9bc04915e42622e3cfca67a
2017-09-27 07:53:00 +02:00
Stephan Bergmann
5c54b6523f
loplugin:stringconstant: warn about explicit length mismatch
...
(just in case)
Change-Id: I9eaf6e920fc7fc3ebc8c705df1cdf34b325db74a
Reviewed-on: https://gerrit.libreoffice.org/42614
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2017-09-22 13:45:07 +02:00
Stephan Bergmann
7b45044fd1
Also handle OUString with non-RTL_TEXTENCODING_ASCII_US encoding
...
(just in case)
Change-Id: I7ba2967c1cef81a3f6604077d876c8b993f7f16a
Reviewed-on: https://gerrit.libreoffice.org/42609
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2017-09-22 08:19:55 +02:00
Stephan Bergmann
df8d092c3a
Adapt pathname checks to mixed usage of \ and / on Windows
...
Change-Id: I91bc89a9076c6642e06b238f65f2d31a1d20c6b5
2017-05-18 09:56:01 +02:00
Stephan Bergmann
c0f241e80f
SourceManager::getFilename returns StringRef
...
Change-Id: I77db8565efe2e0d366afc8470308d7801a2a7337
2017-02-11 20:31:37 +01:00
Stephan Bergmann
57a505e8e9
Remove unnecessary blacklists from loplugin:stringconstant
...
Change-Id: I866a421a2b3e8830aaa7096adaef945a2264195e
2017-02-10 17:49:45 +01:00
Stephan Bergmann
6abbbe7015
Fix copy/move ctor check
...
Change-Id: I2993d5809204098e29a7560d666fa1aafb024a89
2017-02-02 11:49:20 +01:00
Noel Grandin
02957bc3b7
loplugin:stringconstant, this should be a break
...
after commit dce867e8c4
"loplugin:stringconstant handle calls to constructors with one arg"
Change-Id: Ib572d904a95aa96aab3c799f9b7cfb505fcee5e6
2017-02-02 11:35:06 +02:00
Stephan Bergmann
836b74aead
Fix ctor check
...
Change-Id: Ie261d5412c510c045b4d93a6bf1a3d4cf4371897
2017-02-01 15:31:37 +01:00
Noel Grandin
994e38e336
loplugin: use TypeCheck instead of getQualifiedNameAsString
...
since the latter is rather slow
Change-Id: Ib73cdb923585580777c2265b561c1808e93b2baa
Reviewed-on: https://gerrit.libreoffice.org/33585
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2017-02-01 12:49:42 +00:00
Noel Grandin
dce867e8c4
loplugin:stringconstant handle calls to constructors with one arg
...
Change-Id: Ide9148a908bef46ba14640dfa6f556beaf6e3f60
Reviewed-on: https://gerrit.libreoffice.org/33772
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2017-02-01 07:57:16 +00:00
Noel Grandin
1c3e84d819
teach lolugin:stringconstant about calling constructors
...
so we can remove unnecessary calls to the OUString(literal) constructor
when calling constructors like this:
Foo(OUString("xxx"), 1)
Change-Id: I1de60ef561437c86b27dc9cb095a5deb2e103b36
Reviewed-on: https://gerrit.libreoffice.org/33698
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2017-01-31 08:56:20 +00:00
Noel Grandin
f1d83ac45f
loplugin:stringconstant check for unnecessary OUString constructor..
...
..calls when creating exceptions
Change-Id: I3bc58a5aa4dc6f0508ecb88b3a843b96b8c7ebfe
Reviewed-on: https://gerrit.libreoffice.org/33617
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2017-01-28 09:22:55 +00:00
Noel Grandin
2d506f4c3d
fix spelling containging->containing
...
Change-Id: I49f736c049735e89ce9f71740f5c308120378a9a
2017-01-27 12:43:41 +02:00
Stephan Bergmann
236f69e710
Minor loplugin:stringconstant improvements
...
Change-Id: I0b39526c0f0854ddbb29e77ece303cf2bdd842c4
2017-01-25 07:58:10 +01:00
Stephan Bergmann
b820de995d
Remove leftover code
...
Change-Id: I3f6e9ec0343074b506cb07b1ad5c9b3e1ef20b5e
2017-01-11 16:57:21 +01:00
Stephan Bergmann
584262fed1
loplugin:stringconstant: handle OStringBuffer::append
...
Change-Id: I283da52c0ee2b63c19e31e9a61ab24997c037a6a
2017-01-11 16:39:43 +01:00
Stephan Bergmann
618785dfd2
Some loplugin:conststringvar/stringconstant improvements
...
Change-Id: I73f694e6dedb84b3fb3b63ffb9dcda2481bc403c
2017-01-11 11:27:40 +01:00
Stephan Bergmann
0d2ac4afe9
New loplugin:conststringvar
...
Change-Id: I16648b018ed0f69a085322cfb88481ee2a0c27ca
2017-01-10 08:12:52 +01:00
Stephan Bergmann
83ff2a4f38
loplugin:stringconstant: Adapt to definition of OSL_THIS_FUNC on Windows
...
Change-Id: I93a23799ad9a76ed9f4f86d69adb610d0962da20
2016-12-18 22:43:29 +01:00
Stephan Bergmann
ec0665ac8b
Rename cdecl -> classdecl (MSVC treats the former like a keyword)
...
Change-Id: I1859a92c996b907b8d511cddba25c00c9a52f398
2016-12-18 22:43:26 +01:00
Stephan Bergmann
4e9dd6e1b7
Disambiguate clang::StringLiteral
...
...vs. recently introduced llvm::StringLiteral (llvm/ADT/StringRef.h)
Change-Id: I4d74546b0d1401a74b0c15368bbc93794ecd0b1d
2016-12-14 15:52:33 +01:00
Stephan Bergmann
1800862c70
loplugin:stringconstant: look into 'char const * const var = "..."'
...
Change-Id: I52a97b8ec273509131c2200e47527221cb62d7ee
2016-11-25 16:42:23 +01:00
Stephan Bergmann
c5d8cb41a5
loplugin:stringconstant: adapt to improved OUStringLiteral1
...
Change-Id: I5c9bfbb97f0eabe1ea691faf522d22070243d234
2016-08-30 15:30:36 +02:00
Stephan Bergmann
bdd60f1f5e
Adapt loplugin:stringconstant to improved OUStringLiteral1
...
Change-Id: Ibc5128df8bcf8cb5f2f09551c0de6dfdb46bdee0
Reviewed-on: https://gerrit.libreoffice.org/28447
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2016-08-29 11:44:44 +00:00
Stephan Bergmann
8614502d73
Further clean-up
...
Change-Id: I884acbc85108f9cbd5e244c73a1f4c58a8c89613
2016-06-29 18:27:38 +02:00
Stephan Bergmann
733198de1b
Remove support for Clang < 3.4
...
Change-Id: I81e97c5f720535b33dd3ce72d01151765e4e93a0
2016-06-29 09:15:25 +02:00
Stephan Bergmann
1ce7176ba1
Remove support for Clang < 3.3
...
Change-Id: I185852a738bac10dc6d331afccfcbc7ae1225cb1
2016-06-29 08:55:27 +02:00
Stephan Bergmann
0d3738a258
More Clang 3.4 "(anonymous namespace)" fixes
...
Change-Id: I7cb43f915565dadd611b90ee30373e472f97efb5
Reviewed-on: https://gerrit.libreoffice.org/26748
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
Tested-by: Stephan Bergmann <sbergman@redhat.com >
2016-06-28 20:33:58 +00:00
Stephan Bergmann
1a6f599e98
loplugin:stringconstant: Don't warn about "OUString(OSL_THIS_FUNC)"
...
Change-Id: Id5f021bd798cb94b7246faed539304dae04b4700
2016-06-28 09:07:12 +02:00
Stephan Bergmann
643b70006f
Teach loplugin:stringconstant about RTL_CONSTASCII_STRINGPARAM
...
Change-Id: I8ff0e104aad045f3835dc8facc760a8339b1d088
2016-06-03 10:58:26 +02:00
Stephan Bergmann
2db16f4bdc
-Werror=return-type
...
Change-Id: I7691fa50d827b688cab299c85c933adabb29994c
2016-02-26 14:34:30 +01:00
Stephan Bergmann
bb24492c76
More loplugin::TypeCheck use
...
Change-Id: I2f4a26a918134568f541cd45bdcf5a12b1f1d2ee
2015-12-08 22:56:02 +01:00
Michael Stahl
22fb58a6fa
compilerplugins: getAsTagDecl doesn't exist in clang 3.5
...
Change-Id: If7277820227486e2eb578a167e0fd9f05c8f74ae
Reviewed-on: https://gerrit.libreoffice.org/19823
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Michael Stahl <mstahl@redhat.com >
2015-11-06 19:38:13 +00:00
Stephan Bergmann
938f670928
loplugin:stringconstant: elide explicit ctor usage
...
Change-Id: I962db9583ef9cada42a61b6a95eeea818fceeead
2015-11-06 12:33:41 +01:00
Noel Grandin
59b072e22b
yyyyy
...
Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
2015-11-04 14:10:44 +02:00