summaryrefslogtreecommitdiff
path: root/compilerplugins
AgeCommit message (Collapse)AuthorFilesLines
2016-04-18Ignore external codeStephan Bergmann1-1/+2
Change-Id: Ie527703e9687a42bfc39439952b9d1a83d7cad24
2016-04-18tdf#99352 - Some VclPtrs leak past DeInitVCLNoel Grandin1-6/+2
Change-Id: I74b27b1d8b662a644df580ae128643b8495355f8 Reviewed-on: https://gerrit.libreoffice.org/24204 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-15update badstatics plugin to look for VclPtr<> staticsNoel Grandin1-0/+17
maybe we should create a "StaticVclPtr<>" class that checks if VCL is still "alive" before destructing the object? Change-Id: If8619f689c29294efa19c37ec782fa07acec728d Reviewed-on: https://gerrit.libreoffice.org/24085 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2016-04-14turn on the passstuffbyref plugin againNoel Grandin1-1/+1
now that I have committed all of the changes to return types it found Change-Id: Iaee121037ce83e94001e4591d232b075dfeade7c
2016-04-13update loplugin passstuffbyref to check return typesNoel Grandin1-22/+88
of methods like Foo getFoo() const { return m_foo; } where we can rather do const Foo& getFoo() const { return m_foo; } and let the client code decide if it wants copy Foo. Inspired by a performance problem where we were unwittingly copy constructing a large struct repeatedly just so client code could interrogate the members of the struct. When all of the changes this plugin finds are applied, I find that 'perf stat make check' shows on average a 1.7% reduction in CPU cycles. Change-Id: Ic27b4f817aa98f2a2a009f2d4e4a962cbe9c613e
2016-04-07Avoid reserved identifiersStephan Bergmann1-1/+1
Change-Id: I438a7f28ba6bc68ec4e6244a4343e4040ab1b997
2016-04-01tdf#97966 Compiler pluginWastack1-0/+67
Warns about redundant 'static' keywords in unnamed namespace. Change-Id: Iecab69161e24d73e39a8dd5baaba6929e12d4f29 Reviewed-on: https://gerrit.libreoffice.org/23679 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-03-31loplugin:nullptr: Check for more pointer typesStephan Bergmann1-6/+11
(but did not turn up further matches) Change-Id: I7e4843d00a2e3b46edec46c5b56b6ba1b2e098fd
2016-03-30loplugin:nullptr: Find some more cases in templatesStephan Bergmann1-10/+62
Change-Id: I1f127d56e40b04f2b4df85c0afbcfd424d68a8cc
2016-03-29Rename OfficeIPCThread to RequestHandlerStephan Bergmann1-2/+2
Change-Id: I2076d903e83a0b8eb3aa0ce2413630e2c5415b15
2016-03-23constantparam loplugin improvementsNoel Grandin1-33/+38
clean up the python code, filter out setter methods Change-Id: I8294dd305a30708cf0e81c5328935ec8f6cdc8d4 Reviewed-on: https://gerrit.libreoffice.org/23466 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-20Ambiguity between clang:: and llvm::PointerTypeStephan Bergmann1-9/+9
Change-Id: I2727ef17b9ab780c608878aaca9ce0fda01b9c22
2016-03-16loplugin:constantparams in vcl/Noel Grandin1-32/+83
also some improvements to the plugin Change-Id: I0e3a519d70756e577fcb1bd47dd66864b5b4c871 Reviewed-on: https://gerrit.libreoffice.org/23289 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-15loplugin:constantparamNoel Grandin1-2/+9
Change-Id: I270e068b3c83e966e741b0a072fecce9d92d53f5
2016-03-11tdf#97966: Remove 'static' keywordsWastack8-15/+15
Change-Id: Id991cead4f01830eafd9cf8dd63b519ef07c9451 Reviewed-on: https://gerrit.libreoffice.org/23134 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-03-10MenuDispatcher::m_pMenuManager is always nullptrMaxim Monastirsky1-2/+1
... as shown by 7da15debe39b50255cc08b3fef7ae38185a9174f. Which means that MenuManager is unused, and MenuDispatcher does nothing useful. Change-Id: Ic85619531054a573d971d38b52609e1cbcaf780c Reviewed-on: https://gerrit.libreoffice.org/23117 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-03-08Extract checking code to its own check.cxxStephan Bergmann1-1/+1
Change-Id: I9d5b14c374ce62ac7b970faa30c38a5a76568ed4
2016-03-08TODO: Work around loplugin:salbool in cppu/source/uno/data.cxx for nowStephan Bergmann1-5/+14
Change-Id: I1730c09669426e049aba941ef27341581ce31887
2016-03-08new loplugin:constantparamNoel Grandin2-0/+276
finds parameters that are only ever being called with a single value Change-Id: Ibd0c9b6e6dbc1d1b5d5a005eaa19959560a6e50f
2016-03-07loplugin:unuseddefaultparamsNoel Grandin1-1/+1
Change-Id: Ia414f7845425ef73859ed04853378e96cc738795 Reviewed-on: https://gerrit.libreoffice.org/22971 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07improve defaultparams lopluginNoel Grandin1-9/+32
to catch calling params with defaults like "= OUSString()" Change-Id: Iad060e318ed492c22f8be44e326174fe6d28fff9 Reviewed-on: https://gerrit.libreoffice.org/22932 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07loplugin:unuseddefaultparam in variousNoel Grandin1-1/+3
Change-Id: I03d7381aad055cbe9bd905e4082586073f4112e0 Reviewed-on: https://gerrit.libreoffice.org/22900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-05fix crash in cppunitassertequals pluginMarkus Mohrhard1-4/+4
Change-Id: I0427c70aa3a7f55aba4bbe0fe571aab08596541a Reviewed-on: https://gerrit.libreoffice.org/22922 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-04loplugin:unuseddefaultparam in oox/reportdesign/sdNoel Grandin1-1/+1
Change-Id: Ia26cf182ddc7c903d86bf74a8175858adb88121c
2016-03-04loplugin:unuseddefaultparam in toolsNoel Grandin1-1/+1
Change-Id: I027f4d53e3aa793bd61bf110899e464a9b6430ec Reviewed-on: https://gerrit.libreoffice.org/22891 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-04loplugin:unuseddefaultparam in sfx2Noel Grandin1-2/+19
and fix an issue with calls to templated methods in the plugin Change-Id: I9c9537a0690ff671286c007846d5f4cfb7d2982b
2016-03-04loplugin:unuseddefaultparams in vcl and xmloffNoel Grandin1-0/+15
and teach the plugin about code that takes the address of a function Change-Id: Ia9d5afef44520aca236659e8176f1e27135ef4fc Reviewed-on: https://gerrit.libreoffice.org/22861 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-01OSingletonRegistration is dead nowMatúš Kukan1-3/+0
Change-Id: I64a5ffa8790496bd39ba26e0c789db9eedc51071 Reviewed-on: https://gerrit.libreoffice.org/22788 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Matúš Kukan <matus@libreoffice.org>
2016-02-29compilerplugins: fix clang-3.7 buildMiklos Vajna1-3/+3
Change-Id: I2d845d3e008cec085ce2b355c9a058363bd021cb
2016-02-28Kill sfx2 menu supportMaxim Monastirsky1-1/+1
Change-Id: I340a066881b1962a4bcd5a2b7d9a0425d8b9557c
2016-02-26Missed CLANG_VERSION for compilerplugins/clang/store/rtlconstasciimacro.cxxStephan Bergmann1-2/+2
Change-Id: I24d2dc570070a55f39dcd708eb7c47cd71dc0d02
2016-02-26New COMPILER_PLUGINS_CXX to specify compiler to build Clang plugins withStephan Bergmann1-2/+6
...instead of trying to second-guess what to strip off $(CXX) to make it fit. Keep the old way for existing build scripts that rely on it. Change-Id: I145bdcba6d02002a9b653b4deb6e7f5a9c76cc8f
2016-02-26-Werror=return-typeStephan Bergmann1-3/+6
Change-Id: I44e627fa9de9c48a534cbc9ade6cc9d567553709
2016-02-26-Werror=return-typeStephan Bergmann1-0/+3
Change-Id: I7691fa50d827b688cab299c85c933adabb29994c
2016-02-26-Werror=maybe-uninitializedStephan Bergmann1-1/+1
Change-Id: Ib456e717b65c3dce3aaca73b2d55872a53d30828
2016-02-26Silence -Werror=comment about a "multi-line comment"Stephan Bergmann1-8/+8
Change-Id: I19f09c7d253bb86bbe3b10083f762a5791e2f370
2016-02-26These version checks are about the Clang the plugins are built /against/Stephan Bergmann18-60/+63
...not the (Clang) compiler they are being built /with/. (Also simplifies the checking #if code.) Change-Id: I416321be4ef4478785be40571f81500fd3b6feb8
2016-02-26Revert "compilerplugins: Build them in parallel."Stephan Bergmann1-5/+1
This reverts commit 4101fa184150663ddee6688c19eb4a44e341e8d4. Just configure --without-parallelism and always use an explicit make -jN, and be done with it. I just can't stand that "make[1]: Entering/Leaving directory" noise around each "[build CXX] compilerplugins/clang/*.cxx" line any more.
2016-02-26That #if for Clang < 3.2 is probably good to go by nowStephan Bergmann1-4/+0
Change-Id: I019405884dec5767de733e3fa0114b3b461e777d
2016-02-25turn unuseddefaultparams plugin off by defaultNoel Grandin1-5/+5
add fix the method override logic Change-Id: Ia75bc70aa1b8d26a65a4082956dc88a0fd17be9e
2016-02-25new loplugin:unuseddefaultparamsNoel Grandin4-20/+306
Change-Id: I2c3e7d66be9e3883ea2801ff394948cc580d1e44
2016-02-24new loplugin:cppunitassertequalsNoel Grandin1-0/+104
look for places we should be calling CPPUNIT_ASSERT_EQUALS instead of CPPUNIT_ASSERT Change-Id: Ia836555d569069c6d0dce592f1c9a78bf8d8adb8
2016-02-23new loplugin: commaoperatorNoel Grandin1-0/+75
Change-Id: I03f24e61f696b7619855e3c7010aa0d874e5a4ff
2016-02-19new loplugin: find write-only fieldsNoel Grandin3-10/+140
Change-Id: I0f83939babacf92485420ee63f290a297d7cb717 Reviewed-on: https://gerrit.libreoffice.org/22498 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-12loplugin:unusedmethodsNoel Grandin1-12/+12
Change-Id: I0fb06079ff8a9d0b2f5a2929f31846f91391f5c4 Reviewed-on: https://gerrit.libreoffice.org/22229 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-09Use rtl::Reference<CppType> instead of HardCppRef<UnoType,CppType>Stephan Bergmann1-1/+0
Change-Id: I089b5caca5e05726105f78aeb00db1869d0a17f4
2016-02-09Remove excess newlinesChris Sherlock5-5/+0
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>
2016-02-05Fix typosAndrea Gelmini3-5/+5
Change-Id: Ice72f8d9971e15dd6ef365e64cd567b8581a92d3 Reviewed-on: https://gerrit.libreoffice.org/21797 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-02-04loplugin:fpcomparison: Fix check for floating-point zeroStephan Bergmann1-7/+5
...so that isZeroConstant doesn't trigger an assert inside Clang's isCXX11ConstantExpr when expr is sizeof(x) with x being dependent on a template argument. Change-Id: I6bab46e64cc085d597db25994d8bfdc66417fe83
2016-02-04new loplugin fpcomparisonNoel Grandin1-0/+146
Find code that compares floating point values with == or != It should rather use rtl::math::approxEqual Change-Id: I9026e08823340fa1d6a042c430515344c93215bd Reviewed-on: https://gerrit.libreoffice.org/21997 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>