summaryrefslogtreecommitdiff
path: root/helpcompiler/source/HelpCompiler.cxx
AgeCommit message (Collapse)Author
2023-08-25Simplify a bitMike Kaganski
Change-Id: Ie3a826430f016f79190a3d74885551cd72a2a1b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156088 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-21clang-tidy modernize-pass-by-value in helpcompilerNoel Grandin
Change-Id: Ia074fb5be66486e56af2540a978e72c954485e42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136205 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-10tdf#42949 Fix new IWYU warnings in directories [h-r]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I886b6f446293d3b1cfbf4ae05e8dbd7fabab9f20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105510 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-22cid#1448239 unsafe_xml_parse_configCaolán McNamara
This branch is only in use for the build-tool mode, so doesn't affect extension help. I can find no difference in our output help dir with these removed vs in place so lets remove it. Change-Id: If8511b6cb74f1af136a71ab39a7a5759d50c43eb Reviewed-on: https://gerrit.libreoffice.org/83480 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22cid#1448239 unsafe_xml_parse_configCaolán McNamara
Change-Id: I85e471943338baca756707e8e40f46ff69d96a36 Reviewed-on: https://gerrit.libreoffice.org/83479 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22document HelpCompiler::getSourceDocument behaviourCaolán McNamara
Change-Id: I03348fc3bce4c879644c6b8d12444c8ec58c0c5e Reviewed-on: https://gerrit.libreoffice.org/83469 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22fs::getThreadTextEncoding->osl_getThreadTextEncodingCaolán McNamara
Change-Id: I803f21dba239073cf07dc853f400adeac3256856 Reviewed-on: https://gerrit.libreoffice.org/83467 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22drop impl_sleep hackCaolán McNamara
doesn't seem to make any sense, maybe it did in some dmake-era dependency problem when building our help content ? Change-Id: Id964ad73249ef33ba0102fb7d2d853b2719e3814 Reviewed-on: https://gerrit.libreoffice.org/83466 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-30tdf#42949 Fix IWYU warnings in helpcompiler/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ie7e20c77a8035c0ee4f0316966d163b9cd7d11f2 Reviewed-on: https://gerrit.libreoffice.org/73006 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-02-24loplugin:unusedfields in helpcompiler..jvmfwkNoel Grandin
Change-Id: Ic10c521de310e0f0ac1f79a1ae169252c20075b2 Reviewed-on: https://gerrit.libreoffice.org/68226 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-18use clear() instead of erase(begin, end)Noel Grandin
Change-Id: Ie1dcff4c2e5f52521b4172ef5726413a9d048214 Reviewed-on: https://gerrit.libreoffice.org/67961 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21improve function-local statics in forms..reportdesignNoel Grandin
Change-Id: I285e2e75c8d9cad35445c89f00ef68b155806ea2 Reviewed-on: https://gerrit.libreoffice.org/63703 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-23clang-tidy performance-unnecessary-copy-init in editeng..i18npoolNoel Grandin
Change-Id: I2ee2c8d15d8700cfaa1697363da4557c741a5f36 Reviewed-on: https://gerrit.libreoffice.org/62216 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-30Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from filter to jvmfwk Change-Id: I2a73d63f2aaef5f26d7d08957daaa8a30b412ac5 Reviewed-on: https://gerrit.libreoffice.org/58204 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-07-27loplugin:returnconstant in helpcompilerNoel Grandin
and fix scanForFiles to return false on error Change-Id: I246e906de9985947be421d361340874c94a2102d Reviewed-on: https://gerrit.libreoffice.org/58085 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-13Don't create std::string from nullptrStephan Bergmann
...which violates the ctor's preconditions, so is UB. Also, the "XML Help Document Type Definition" appendix of <http://documentation.openoffice.org/online_help/OOo2HelpAuthoring.pdf> states that "branch" and "id" attributes are #REQUIRED for the "bookmark" element. (There's probably further cases in the surrounding code where a std::string is created from a potentially null argument, which would benefit from similar fixes.) Change-Id: I414576d13de784de1290951bcdd5e3ecb51f9cb8 Reviewed-on: https://gerrit.libreoffice.org/55735 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-06-11tdf#96099 Remove some trivial std::vector typedefsArkadiy Illarionov
Change-Id: I0e60ec7a3edae42b25ff0917828d0a893ed39a38 Reviewed-on: https://gerrit.libreoffice.org/55245 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-16loplugin:useuniqueptr in StreamTableNoel Grandin
Change-Id: I6a6314a3e6df9edfb6d92d2afbc1567195946292 Reviewed-on: https://gerrit.libreoffice.org/52885 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-18Use for-range loops in helpcompilerJulien Nabet
Change-Id: I787a5b43cb09ac308082cac0e66540f975d79ead Reviewed-on: https://gerrit.libreoffice.org/51473 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-06-25loplugin:oncevar in helpcompiler..jvmfwkNoel Grandin
Change-Id: Ia9b20a8ca95684cbeb21e3425972c43ba50df3cd Reviewed-on: https://gerrit.libreoffice.org/39187 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-26Make helpcompiler more verbose on dot ahelpsGabor Kelemen
Currently we get a warning if the ahelp is one dot and there was no previous bookmark tag. This warning contains only the text with the problemmatic ahelp. It would make it easier to hunt down such problems if we would know the file names. This patch does that, and now I see 334 problems in 137 files. Change-Id: I364368f7affb85d5c5d526dd4674757c51956aea Reviewed-on: https://gerrit.libreoffice.org/38044 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2017-04-25tools: svstream.hxx needs only errcode.hxx & not errinf.hxxChris Sherlock
Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca Reviewed-on: https://gerrit.libreoffice.org/36896 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-03-22Prevent calls to rtl/character.hxx functions with (signed) char argumentsStephan Bergmann
...that would implicitly be sign extended (for plain char only if it is signed), so non-ASCII char values would trigger the isUnicodeCodePoint assert. Change-Id: Iaf8024ad509e64525558e882fe3fd078cfb4ea91 Reviewed-on: https://gerrit.libreoffice.org/35523 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-16convert HelpProcessingErrorClass to scoped enumNoel Grandin
and drop unused HELPPROCESSING_INTERNAL_ERROR enumerator Change-Id: I0f2cf063a3f1472e1d52bab5039b1c3158d4865e
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-08-23Reduce scope of variableStephan Bergmann
Change-Id: Ib3669c8946b431b845bcb217e7cf4a5f7a89177f
2016-05-09tdf#99589 tolower / toupper - dangerous to Turks ...Krishna Keshav
Used toAsciiUpperCase() from character.hxx Change-Id: I79f4638866daf8952103c8a521db925150e8dcda Reviewed-on: https://gerrit.libreoffice.org/24709 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-04-28clang-tidy modernize-loop-convert in h-l/*Noel Grandin
Change-Id: I843528327b25d18476f8959cabba16371213a48a Reviewed-on: https://gerrit.libreoffice.org/24460 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-22tdf#84323: Make osl::Thread::wait more readableGurkaran
It is to improve the readability of calls to osl::Thread::wait. Change-Id: I025d89abf8e84ca73ba08f001be3f45b86c89957 Signed-off-by: Gurkaran <gurkran@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/23416 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-17use consistent #define checks for the Windows platformNoel Grandin
stage 2 of replacing usage of various checks for the windows platform with the compiler-defined '_WIN32' macro In this stage we focus on replacing usage of the WIN macro Change-Id: Ie8a4a63198a6de96bd158ecd707dadafb9c8ea84 Reviewed-on: https://gerrit.libreoffice.org/22393 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-12-10tdf#96042: Oops, fix a typo.Jan Holesovsky
This fixes a regression from commit 4c4999d944bbf8a34f8a320b8de6f4a325bd5d97. Change-Id: Ie8496392f4811cc1ff146d7a5c43988da0d539c2
2015-12-08tdf#96042: 'std::string::find("something") == 0' means "startsWith()".Jan Holesovsky
This should fix a regression from 3bdd176731c351638f541a37b94094124f3c9f52, apparently the cppcheck's advice is misleading. Change-Id: I427ecaa1eb3c9841cb6112997b9b51feda4583d0
2015-11-20loplugin:unusedfields helpcompilerNoel Grandin
Change-Id: I8a4feaea642cf781fde54e4afc5cd98e326f8db3
2015-11-15cppcheck:stlIfStrFindNoel Grandin
"Inefficient usage of string::find() in condition; string::compare() would be faster." Change-Id: I90403b1d05eff6499c10be33068e5fd4fed30b62 Reviewed-on: https://gerrit.libreoffice.org/19966 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I6e34abccb0bda1c76e30ab973b8fd827d6c99c72
2015-11-06coverity#1338258 Uncaught exceptionCaolán McNamara
Change-Id: I61032db81c012f2120bdd971111155d660eef5b4
2015-05-29loplugin:loopvartoosmallNoel Grandin
Change-Id: I5518e40a30bdad53470cc52b59eff04ab6d873d4
2015-04-15remove unnecessary use of void in function declarationsNoel Grandin
ie. void f(void); becomes void f(); I used the following command to make the changes: git grep -lP '\(\s*void\s*\)' -- *.cxx \ | xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;' and ran it for both .cxx and .hxx files. Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
2015-03-09V801: Decreased performanceCaolán McNamara
Change-Id: Id8cd45d2844c121f63684734ab3546c24a1aab32
2015-02-02Resolves: fdo#88970 fix Incorrect Extended-tips with dodgy ahelp tagsCaolán McNamara
ahelp puts the tip on the previous bookmarks with hid branches but has a scattergun effect if those previous bookmarks have nothing to do with the current element being described. So take the hid attribute of the ahelp and if its hid="." use the current set of bookmarks as the context otherwise believe it and apply the tip just to the stated hid Change-Id: I00648daadf5673e1abc96f222a4526959f1f7d7a
2015-01-22replace '\n' to space in extended help textAndras Timar
Change-Id: Ida354ee41b4158716ab39a92f009fa7c9a2ce21f Reviewed-on: https://gerrit.libreoffice.org/13919 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2015-01-20Some more loplugin:cstylecast: helpcompilerStephan Bergmann
Change-Id: I9e094356601cf156537f75d0629fd214710d80e8
2014-12-15coverity#704150 Resource leak in objectCaolán McNamara
and coverity#704151 Resource leak in object coverity#704152 Resource leak in object Change-Id: I68c455adc25375b8027236fd44d99a397e372994
2014-06-10coverity#983682 Uncaught exceptionCaolán McNamara
Change-Id: Ie5c7ce0ba499ce67365c5e2079a50d73b9849e73
2014-05-28Fix memory leakStephan Bergmann
...and add---most likely necessary---null check Change-Id: I3f31c20442c45ddfd98429347f5c2521597c1769
2013-06-20remove last uses of config 'GUI' variableMatúš Kukan
Change-Id: I97188235f0b72b5b54423e05deeaf17c5c681048 Reviewed-on: https://gerrit.libreoffice.org/4188 Reviewed-by: Andras Timar <atimar@suse.com> Tested-by: Andras Timar <atimar@suse.com>
2013-05-07helpcompiler: remove Package_incMichael Stahl
Change-Id: Iddafa9068edcc20135c08ed205b8fb7fb5382eba
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09