summaryrefslogtreecommitdiff
path: root/compilerplugins/clang
AgeCommit message (Collapse)Author
2016-06-06Remove unneeded Pane code in Presenter ConsoleBryan Quigley
This code hasn't been touched (on purpose) in years, it appears to have been used to resize part of the console. (It's prefed off) Change-Id: Iaaeaa8a95c71ae91299bbeeea24869bf2a237b6b Reviewed-on: https://gerrit.libreoffice.org/24663 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org>
2016-06-03Teach loplugin:stringconstant about RTL_CONSTASCII_STRINGPARAMStephan Bergmann
Change-Id: I8ff0e104aad045f3835dc8facc760a8339b1d088
2016-06-02I assume these special plugins were not intended to be enabled unconditionallyStephan Bergmann
...with fa135fd0e05fc4ba784b4349d65f2e5ed26c0f55 "remove unused SID constants and associated code" Change-Id: I51b2a9e3c8ce13401818bca0c40167a4364212f1
2016-06-01remove unused SID constants and associated codeNoel Grandin
found with a python script that looks like: process = subprocess.Popen( "git ls-files *.hrc | xargs grep -hE '#define +SID_' | cut -d ' ' -f 2 | sort -u", shell=True, stdout=subprocess.PIPE) for line in iter(process.stdout.readline, b''): line = line.strip() if line.startswith("//"): continue if line.startswith("sfx"): continue if len(line) < 10: continue i = subprocess.check_output("git grep -nP \"#define +" + line + " \"", shell=True) if i.count("#define") < 2: continue print line + " " + i Change-Id: I40eac2569c2b5b129d9459cb723a9d6f26d09264 Reviewed-on: https://gerrit.libreoffice.org/25715 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-31fix KDE4 buildNoel Grandin
after 3d7325898547c94826cfdd "loplugin:unusedmethods" Change-Id: I32303948c5046b2880cd4e64cada32ea776a0861
2016-05-31loplugin:unusedmethodsNoel Grandin
Change-Id: Ifeb818227a960cab8fd2e8e7352468efbfe1232c Reviewed-on: https://gerrit.libreoffice.org/25668 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-31teach refcounting clang plugin about uno::ReferenceNoel Grandin
uno::Reference is only allowed to used with classes that have a ::static_type member. So convert all those places to rtl::Reference. Maybe we need some LIBO_INTERNAL_ONLY constructors on rtl::Reference and uno::Reference to make this a little smoother? Change-Id: Icdcb35d71ca40a87b1dc474096776412adbfc7e3 Reviewed-on: https://gerrit.libreoffice.org/25516 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-26loplugin:unusedreturntypesNoel Grandin
and clean up the python script Change-Id: I0a7068153290fbbb60bfeb4c8bda1c24d514500f Reviewed-on: https://gerrit.libreoffice.org/25439 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-18update unusedmethods plugin to ignore externC and copy constructorsNoel Grandin
Change-Id: Idf7a9403d313ba6a0e031c59601e20c880b6118b
2016-05-18update vclwidgets loplugin to handle VclReferenceBaseNoel Grandin
Change-Id: I447cdb8c65d880b3c5ff28b35cefdc56ff784852
2016-05-18update unusedmethods plugin to deal with constructorsNoel Grandin
and fix the operator< implementations in some of the other plugins too. Change-Id: Ie5631e0cdc8d2a994ad2af2533cdb558a6cfc035 Reviewed-on: https://gerrit.libreoffice.org/25057 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-16fix null pointer crash in loplugin:commaoperatorNoel Grandin
Change-Id: Ie077ed9a8f200b39da25938b35a3622e52cc5110
2016-05-06teach passstuffbyref plugin to check for..Noel Grandin
unnecessarily passing primitives by const ref. Suggested by Tor Lillqvist Change-Id: I445e220542969ca3e252581e5953fb01cb2b2be6 Reviewed-on: https://gerrit.libreoffice.org/24672 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-28move stylepolice back to storeNoel Grandin
recent updates did not meet with universal approval Change-Id: Ic059729797049361c7a8a4ae000cd39a5993f6af
2016-04-28loplugin:stylepoliceNoel Grandin
Change-Id: I151e4d94f1f5dc84ef3f91218686ca9d1b9bc36f
2016-04-28teach stylepolice plugin about ref-counted-pointer namingNoel Grandin
Change-Id: I6e91d22fc1826038c05ddb6fc065563c6a250752 Reviewed-on: https://gerrit.libreoffice.org/24459 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-27cppcheck: silence warnings in compilerpluginsJochen Nitschke
mostly missing explicit before ctors and uninitialized member vars one odd use of std::find > compilerplugins/clang/implicitboolconversion.cxx > 800 stlIfFind warning Suspicious condition. > The result of find() is an iterator, but it is not properly checked. Change-Id: Iade53494cd7fe8ddb0e110e431449ae5a517fe3b Reviewed-on: https://gerrit.libreoffice.org/24398 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-04-27loplugin:stylepolice: adapt to libc++Stephan Bergmann
Change-Id: I8a471d0fb7a206f1a235c3019ae9d07b44056e01
2016-04-26Enable Clang plugin warnings in Bison source codeStephan Bergmann
-Werror is generally suppressed in Bison-generated C/C++ code (as in all other generated code) to silence warnings from the Bison skeleton code. And the Clang plugins suppress warnings in generated WORKDIR code based on the presumed source location (i.e., taking #line directives into account). So introduce a new PLUGIN_WARNINGS_AS_ERRORS mode where warnings from Clang plugins are reported as errors even if -Werror is suppressed. That way, any warnings in the Bison skeleton code still do not lead to compilation errors, while (at least plugin- emitted) warnings in the genuine source code do. Unfortunately this cannot also be enabled for Flex source code, as at least Flex 2.5.39 generates poor code that does not properly prefix all skeleton code with appropriate #line directives, so that some skeleton code would be mistaken for genunie source code, and compilation would fail due to errors. Also, %glr-parser Bison input appears to generate no #line directives at all (at least with Bison 3.0.4), so all of connectivity/source/parse/sqlbison.y is considered generated code and plugin warnings are still suppressed throughout. Change-Id: Id746e81cbfa5f77628b0a34c7b82780948e7db08
2016-04-26update loplugin stylepolice to check local pointers varsNoel Grandin
are actually pointer vars. Also convert from regex to normal code, so we can enable this plugin all the time. Change-Id: Ie36a25ecba61c18f99c77c77646d6459a443cbd1 Reviewed-on: https://gerrit.libreoffice.org/24391 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-25Lots of violations in gcc3_linux_x86-64/share.hxx, too, when using libc++Stephan Bergmann
Change-Id: I6f32f7b1dcb97c9651bba2c03c495fb70448e524
2016-04-25Just don't bother with Clang <= 3.6Stephan Bergmann
...where Preprocessor::macros and Preprocessor::getLocalMacroDirectiveHistory would need to be done slightly differently Change-Id: Id46b05ac42012597c91a556b17ed008b6c7c5912
2016-04-22loplugin:reservedidStephan Bergmann
Change-Id: Ifa75d3f228db87f7a899612964bf08e9573fb5be
2016-04-22Avoid reserved identifiersStephan Bergmann
Change-Id: I263603fb81d368ebc8450b2d8cc01752fcd3f29d
2016-04-22Avoid reserved identifiersStephan Bergmann
Change-Id: I27ff0f4f0eb395d7e0a60dd604758c220a3134c4
2016-04-21loplugin:salbool: sal_Bool[] -> bool[]Stephan Bergmann
Change-Id: I3c5bf7a53c9ae173f8fce885ecf022f092aa43a9
2016-04-21Use Sequence ctor taking initializer_listStephan Bergmann
needed adapting loplugin:implicitboolconversion to not warn about Sequence<sal_Bool> arBool({true, false, true}); Change-Id: I971918aab7c958ef8f1e4e0548a84314e95f8325
2016-04-21typoStephan Bergmann
Change-Id: I67721e86073bd2f67bee3ffbbb81fd5d143997d8
2016-04-21Better fix for 13758a3d154e8e450fdfe8bcdeb6b3a03996c53aStephan Bergmann
"SourceManager::isMacroArgExpansion has only one param in older Clang", which caused false positives like warning about sal_False in CPPUNIT_ASSERT_EQUAL(guard.p->m1, sal_False); in cppu/qa/cppumaker/test_cppumaker.cxx Change-Id: I1c5a67527aef381e336d71cb8fefbb87961bbf96
2016-04-21move stylepolice plugin into store/Noel Grandin
seems std::regex is not too well supported yet, at least in libstdc++-4.8 Change-Id: Ib9feb33d2f197d40fc67dc93468aa2f7dae05bac
2016-04-21SourceManager::isMacroArgExpansion has only one param in older ClangStephan Bergmann
Change-Id: I5aa4f7cca70b8196263613b92c018323152411a1
2016-04-21new plugin stylepoliceNoel Grandin
check for local variables which follow our member field naming convention, which is highly confusing Change-Id: Idacedf7145d09843e96a584237b385f7662eea10
2016-04-20loplugin:salbool: Warn about uses of sal_False/TrueStephan Bergmann
...that can generally be rewritten as false/true, and sometimes could hide errors, see e.g. <5be5f00fe16b0e255b31fbaba5f119773d1cd071> "So this is apparently about right-to-left levels, not a boolean flag". Change-Id: Ib39a936a632c2aab206f24c346252e31dcbb98f3
2016-04-20Use cast to bool to normalize sal_Bool valuesStephan Bergmann
Change-Id: I8a886f752d2a16ec4c10656bcd0b3631647971b2
2016-04-18Ignore external codeStephan Bergmann
Change-Id: Ie527703e9687a42bfc39439952b9d1a83d7cad24
2016-04-18tdf#99352 - Some VclPtrs leak past DeInitVCLNoel Grandin
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 Grandin
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 Grandin
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 Grandin
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 Bergmann
Change-Id: I438a7f28ba6bc68ec4e6244a4343e4040ab1b997
2016-04-01tdf#97966 Compiler pluginWastack
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 Bergmann
(but did not turn up further matches) Change-Id: I7e4843d00a2e3b46edec46c5b56b6ba1b2e098fd
2016-03-30loplugin:nullptr: Find some more cases in templatesStephan Bergmann
Change-Id: I1f127d56e40b04f2b4df85c0afbcfd424d68a8cc
2016-03-29Rename OfficeIPCThread to RequestHandlerStephan Bergmann
Change-Id: I2076d903e83a0b8eb3aa0ce2413630e2c5415b15
2016-03-23constantparam loplugin improvementsNoel Grandin
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 Bergmann
Change-Id: I2727ef17b9ab780c608878aaca9ce0fda01b9c22
2016-03-16loplugin:constantparams in vcl/Noel Grandin
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 Grandin
Change-Id: I270e068b3c83e966e741b0a072fecce9d92d53f5
2016-03-11tdf#97966: Remove 'static' keywordsWastack
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 Monastirsky
... 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>