summaryrefslogtreecommitdiff
path: root/sccomp
AgeCommit message (Collapse)AuthorFilesLines
2020-06-24use more std::container::insert instead of std::copyNoel Grandin1-8/+9
which is both more compact code, and more efficient, since the insert method can do smarter resizing Change-Id: I17f226660f87cdf002edccc29b4af8fd59a25f91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96948 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-05Upcoming loplugin:elidestringvar: sccompStephan Bergmann1-10/+10
Change-Id: I324c04f94ec5532e0a49d6f25a82121ad8baa439 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95538 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-03-12Revert "loplugin:constfields in scaddins,sccomp"Noel Grandin3-4/+6
This reverts commit 1ab27f9ae6f32c7502884c02c2217bbdcf035c48. Change-Id: Iaf9b011201ee763aaf4d08ceedd6074bafad1c3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90409 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-28remove some unused local varsNoel Grandin1-10/+0
found by my new loplugin:unusedvariableplus Change-Id: Ic3f55f492d43a53d8850a97d44059ff127fd69a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87573 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-15tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctorMesut Çifci1-2/+1
Change-Id: Ib58c66590c60175d7984af55d23b7c55a6a2383e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86828 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-12tdf88205 Adapt uses of css::uno::Sequence to use initializer_list ctorYusuf Keten1-2/+1
Change-Id: I5eb9c58f511a6ded473eb3fb998fd21584c227d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86607 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann3-0/+14
...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-09-26loplugin:constmethod in scNoel Grandin1-2/+2
Change-Id: I78c4fb4acf21756f91582caee5e30e3ad1fc2ae4 Reviewed-on: https://gerrit.libreoffice.org/79543 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-20loplugin:constvars in sccomp..sdNoel Grandin1-2/+2
Change-Id: Ic4b2a1d23da80a5b0976692f490c29a7169be3ef Reviewed-on: https://gerrit.libreoffice.org/77793 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-15loplugin:sequenceloop in scaddins..scriptingNoel Grandin3-6/+6
Change-Id: I25044332e107b630b257e48d95ee9272145ed344 Reviewed-on: https://gerrit.libreoffice.org/77524 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): sccompStephan Bergmann3-3/+3
Change-Id: I045d16b711cbc8c1cacf1d929b9d79387192586a Reviewed-on: https://gerrit.libreoffice.org/76652 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-30Simplify Sequence iterations in scaddins, sccomp, scriptingArkadiy Illarionov2-24/+18
Use range-based loops, STL and comphelper functions Change-Id: I836422a1c81a3dc9585687ed2e506eb59bb4ec91 Reviewed-on: https://gerrit.libreoffice.org/76484 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-05-28tdf#42949 Fix IWYU warnings in sccomp/Gabor Kelemen8-20/+19
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ie2d1a6dad1dc17777f05aa033ea5fed1807261ce Reviewed-on: https://gerrit.libreoffice.org/72636 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-02-20o3tl::make_unique -> std::make_unique in include/ & o3tl/Gabor Kelemen1-1/+0
Also the last few remaining occurrences of the header Since it is now possible to use C++14, it's time to replace the temporary solution with the standard one Change-Id: I18f435270057f2d09e21d6ea262532cbcc974598 Reviewed-on: https://gerrit.libreoffice.org/67843 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-01-24Fix order of CPPUNIT_ASSERT_EQUAL expected vs. actual argumentsStephan Bergmann1-3/+3
Change-Id: I36ea52e6ef7142566d4155c5279f791d4cf509a1 Reviewed-on: https://gerrit.libreoffice.org/66867 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-20Simplify containers iterations in scaddins, sccomp, scriptingArkadiy Illarionov2-38/+34
Use range-based loop or replace with STL functions Change-Id: I21ec2eea8f322e2792097d352fc352dc6099c7b7 Reviewed-on: https://gerrit.libreoffice.org/65461 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-17Adapt to C++2a char_tStephan Bergmann1-1/+1
u8 literals incompatibly change their type (as implemented by recent Clang trunk) Change-Id: Ia4f7b91f5d86656a056303d2754981ab2093a739 Reviewed-on: https://gerrit.libreoffice.org/63494 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-29loplugin:oncevarNoel Grandin1-5/+5
Change-Id: Iba892694acb378887a1d15ab59104c55f591f0bd Reviewed-on: https://gerrit.libreoffice.org/62498 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-09loplugin:constfields in scaddins,sccompNoel Grandin3-6/+4
Change-Id: I4d21cfcc65c099fbddbe5146fc1b8a6257971e32 Reviewed-on: https://gerrit.libreoffice.org/61555 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-07loplugin:useuniqueptr in CoinMPSolverNoel Grandin2-30/+29
Change-Id: Ibe0dfdfabf6f56498564406441a9c505e93dd9a6 Reviewed-on: https://gerrit.libreoffice.org/60112 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-23sccomp: Reserve enough space at once for micro-optimizationTakeshi Abe4-0/+4
Change-Id: Ib4e178d2a0f09cb44854f1d1aad026d8394a8917 Reviewed-on: https://gerrit.libreoffice.org/56312 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-06-22tdf#42949 Fix IWYU warnings in include/sal/Gabor Kelemen1-0/+1
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I62758fd7c9d932c5a390739774b112356006a937 Reviewed-on: https://gerrit.libreoffice.org/56062 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-17loplugin:redundantcast improvements for floating-integer conversionsStephan Bergmann1-2/+3
Change-Id: I63dbf18f144a792ae775fe6706da81657f790016 Reviewed-on: https://gerrit.libreoffice.org/54416 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-02-28swarm: don't assert the result in testUnconstrainedTomaž Vajngerl1-1/+6
It can happen the algorithm doesn't converge the values towards the solution in the timeframe and number of generations it has available (slow execution, high cpu load, bad luck) so for now don't assert the expected value in the test, but still run it so we know the algorithm does end eventually and doesn't cause any seg. faults. Change-Id: Ic889ad1618bf057ac7b281c15bce735f8ec5e13c Reviewed-on: https://gerrit.libreoffice.org/50500 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-02-26loplugin:oncevar extend to tools/gen.hxx typesNoel Grandin1-2/+1
Change-Id: I5c75875da44334569c02e2ff039b33c38397a0a2 Reviewed-on: https://gerrit.libreoffice.org/50283 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-19SAL_W32 is just an alias for _WIN32Stephan Bergmann1-1/+1
...so consistently use the latter instead of the former Change-Id: I144d5e7c472632f93b2258461510346bc85892d9 Reviewed-on: https://gerrit.libreoffice.org/48135 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-22lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky2-4/+2
This way, it is possible to have all the strings translated in dialogs even when different users use different languages. [It was already possible to have different languages previously, but not everything in the dialog has switched - like the buttons at the bottom of the dialogs etc.] Change-Id: I29a5ae6d31a370eec60397884200b684ec1bf5b9 Reviewed-on: https://gerrit.libreoffice.org/46417 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46979 Tested-by: Jenkins <ci@libreoffice.org>
2017-12-11loplugin:salcall fix functionsNoel Grandin3-3/+3
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-08sccomp: CppunitTest_sccomp_swarmsolvertest fails w/ 32-bit ASANMichael Stahl1-1/+1
Result values look way off, let's just disable it. Change-Id: Ibc473d238a4f3f4f98de59b5f228948b7b64bebd
2017-11-30Weaken SwarmSolverTest::testUnconstrained even further for nowStephan Bergmann1-1/+1
...after 1fa761af825641da5c87f80c2a17135f92418960 "Ridiculously large delta for SwarmSolverTest::testUnconstrained for now", to accommodate further Jenkins lo_ubsan failures with actual values of 3.67055466470122 (<https://ci.libreoffice.org/job/lo_ubsan/741/console>) and 3.88389164367578 (<https://ci.libreoffice.org/job/lo_ubsan/743/console>). Change-Id: Ibacb25ba82c2c279ef8dcd19c5ce7f6d5d8014d5 Reviewed-on: https://gerrit.libreoffice.org/45520 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-25Ridiculously large delta for SwarmSolverTest::testUnconstrained for nowStephan Bergmann1-1/+1
At least the Jenkins lo_ubsan build sporadically keeps failing CppunitTest_sccomp_swarmsolvertest due to rather widely off values here (3.00064356398118 in <https://ci.libreoffice.org/job/lo_ubsan/736/console> and 2.8639022684852 in <https://ci.libreoffice.org/job/lo_ubsan/738/console>), so suggestion by Tomaž Vajngerl was: "Let's adapt the delta for now. Generally anything close to 3 should be acceptable as the algorithm greatly depends on random values." Change-Id: Id8f8657e521381decb1c719a1cffdf959ae74ef4 Reviewed-on: https://gerrit.libreoffice.org/45231 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-11-21clang-format fixesMiklos Vajna2-7/+2
Hopefully the last such commit, now that the in-gerrit verification is in place and also a warning is printed locally for those who push directly. Change-Id: Ib80cbca0b29dc7f71cbb182a38ad6839a659ff41 Reviewed-on: https://gerrit.libreoffice.org/45002 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-21CppunitTest_swarm_solver_test also consistently fails for UBSan buildStephan Bergmann1-2/+2
...at least for my local one, with > /data/sbergman/lo-san/core/sccomp/qa/unit/SwarmSolverTest.cxx:387:(anonymous namespace)::SwarmSolverTest::testMultipleVariables > double equality assertion failed > - Expected: 0 > - Actual : 1 > - Delta : 1e-05 so disable that part unconditionally for now. Change-Id: Id8c091781baf4381696e2a8f0501df1f3f83724f Reviewed-on: https://gerrit.libreoffice.org/44977 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-11-20Make CppunitTest name consistent with file nameStephan Bergmann1-10/+10
Change-Id: Ice44f10673d127b1f1c7f701ec2d7905eab7029e
2017-11-20WaE: -Werror=unused-functionCaolán McNamara1-4/+16
Change-Id: I773224bd332669c86648578a47612fa6d639c9c5 Reviewed-on: https://gerrit.libreoffice.org/44945 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-19Fix typosAndrea Gelmini1-1/+1
Change-Id: I964528cf4f3b81230c683011e1878b28378b0014 Reviewed-on: https://gerrit.libreoffice.org/44915 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-19iOS reactivated swarmsolverjan Iversen1-4/+1
swarmsolver now compiles after the license issue was corrected, so no need to have a special case for iOS. Change-Id: Icae81c2b5769af9c8fd53068d69cbb6e608c7e69
2017-11-19Remove include config_lgpl.h from SwarmSolver, license is MPLv2Tomaž Vajngerl1-1/+0
Change-Id: I7c29c2e1a6e782dfc24b284f196521a7f7beef61
2017-11-18we now get a solver lib even without lpsolve or coinmpCaolán McNamara1-2/+2
Change-Id: I867d9aa37f876532dd67dadff7cd76f6e35868ba Reviewed-on: https://gerrit.libreoffice.org/44912 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-18iOS, swarmsolver workaroundjan Iversen1-1/+4
Due to license problems (see mail dev list) disabled swarmsolver Change-Id: I39889ddab2563a857c3bf0982244f889a402097f
2017-11-18Swarm based (uses PSO or DE) experimental non-linear solverTomaž Vajngerl12-0/+1424
This is a new, simple non-linear solver that uses a swarm (population) to do global optimization. It uses two algoritms - Particle Swarm Optimization (PSO) or Differential Evolution (DE) to find a (non-optimal) solution. It is experimental as not all functions are implemented and it needs a lot more testing so that it performs well. Change-Id: If55dad7eda17394851a9d178ad892de771eca7c9 Reviewed-on: https://gerrit.libreoffice.org/44382 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-10-23loplugin:includeform: sccompStephan Bergmann3-4/+4
Change-Id: I819977bf2c0aff3f98f039f966b7fa6f0fad2728
2017-08-27sccomp_lpsolver -> sccomp_solverRene Engelhard4-48/+48
This test also tests the CoinMP solver, no _lpsolver is misleading Change-Id: If56de3aa84ec80b1888aadeb940e08e65083c9e9 Reviewed-on: https://gerrit.libreoffice.org/41607 Reviewed-by: Rene Engelhard <rene@debian.org> Tested-by: Rene Engelhard <rene@debian.org>
2017-08-01move resmgr to unotoolsCaolán McNamara2-4/+3
and the vast majority of translations is to the ui language so default ctor with that arg and now drop OModuleResourceClient Change-Id: I3b85a560ffdfe5f019c2271ac56a5fe4a361522b
2017-07-21migrate to boost::gettextCaolán McNamara11-179/+77
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-04-25tools: svstream.hxx needs only errcode.hxx & not errinf.hxxChris Sherlock1-0/+1
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-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky2-2/+0
Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: https://gerrit.libreoffice.org/23198 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: David Ostrovsky <david@ostrovsky.org>
2017-04-06loplugin:redundantcast find cstyle double castsNoel Grandin1-1/+1
Change-Id: I5507be190dac781e5cdb545a60acf3d50056c9f8 Reviewed-on: https://gerrit.libreoffice.org/36187 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-02change the solver test to explicitly test the available solversTomaž Vajngerl1-35/+23
This changes the lpsolver test to explicitly test the available linear solvers we have - either CoinMP, LpSolver or both. This prevents that a newly added solver will be automatically tested as it can have a different behaviour for the tested input values. Change-Id: I0c4d2f9c561d1e834ca51196b7b5ecf7d89ba550 Reviewed-on: https://gerrit.libreoffice.org/34813 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-02-15Some simplifications, using UNO_QUERY_THROWStephan Bergmann2-6/+2
Change-Id: Iab702a5ad9697f1c71cc12c7dea954ca620cfdbe Reviewed-on: https://gerrit.libreoffice.org/34260 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>