summaryrefslogtreecommitdiff
path: root/basic/inc
AgeCommit message (Collapse)Author
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>
2017-01-19New loplugin:dynexcspec: Add @throws documentation, basicStephan Bergmann
Change-Id: Ic3e265e05c69942c5c1c7d1b83f65f2cbe35ca1f
2016-10-19loplugin:expandablemethodds in basctl..chart2Noel Grandin
Change-Id: I96f565a974fe3e316ae2ab04f8731b8bbfb87993 Reviewed-on: https://gerrit.libreoffice.org/29998 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-13loplugin:dllprivateStephan Bergmann
Change-Id: I1fe70a39c50aba8b84c117653185fc37dbbfeab0
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-08-29BASIC : Remove useless SbxBase::GetCreatorArnaud Versini
Change-Id: I3d9aa358ffaefc11b7d2427f2b567c360be2c667 Reviewed-on: https://gerrit.libreoffice.org/28434 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-13BASIC: Use more often std::unique_ptrArnaud Versini
Change-Id: I37f3b35afcf3b4dba30a6ba841a59e0d851f1ebb Reviewed-on: https://gerrit.libreoffice.org/27930 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-18BASIC: Remove useless overridesArnaud Versini
Change-Id: I49eb680bb0945a65a98978e98750fd62669fd820 Reviewed-on: https://gerrit.libreoffice.org/27255 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-27loplugin:singlevalfields in basic and fix leakNoel Grandin
And fix leak in BasicManagerImpl where it would never have freed the streams. Change-Id: I1e99c2c6a70a8cac27dd5c86a7042efc3de7a578 Reviewed-on: https://gerrit.libreoffice.org/26632 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-13loplugin:passstuffbyref in basicNoel Grandin
Change-Id: Ie93b33502325f00ba95ab168a445a347148f9edd
2016-04-12Avoid reserved identifierStephan Bergmann
Change-Id: Ic59b23de2c11e8a0a86c3711a4507cd76e07896f
2016-03-08tdf#94306 Replace boost::noncopyable with plain C++11 deleted copy ctorsSteven Guo
Replaced boost::noncopyable with plain C++11 deleted copy ctors in /basic/* files. Change-Id: I9c0eb0a51ec5cb25c88c72b55f42864e73006e6b Reviewed-on: https://gerrit.libreoffice.org/22969 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-05Fix typosAndrea Gelmini
Change-Id: I1b79005d9c4e32325b8dadcc4f805975d6bf2727 Reviewed-on: https://gerrit.libreoffice.org/21103 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2015-11-18remove unused typedefs and inline use-once typedefsNoel Grandin
and improve the script a little Change-Id: I2792ea4dd5df3a50736fbe209225c3f16fb86b84 Reviewed-on: https://gerrit.libreoffice.org/20033 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-115th step to remove tools/rtti.hxxOliver Specht
tools/rtti.hxx removed completed the interface of some Sdr.* Items and removed pseudo items Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a Reviewed-on: https://gerrit.libreoffice.org/19837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-26basic: replace boost::ptr_vector with std::vector<std::unqiue_ptr>Michael Stahl
Change-Id: Ieba2fb34e0279871d36b4fe80d9de76e614b5cde
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-09-18boost->stdCaolán McNamara
Change-Id: Ie490bf2c6921f393bdeed96b1a8815996b701bf0 Reviewed-on: https://gerrit.libreoffice.org/18670 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-07-20com::sun::star->css in basicNoel Grandin
Change-Id: I637fd7aedeb97b7dca22521474a54a1d4274f212 Reviewed-on: https://gerrit.libreoffice.org/17206 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-27coverity#1308445 Uncaught exceptionCaolán McNamara
Change-Id: I831637f7f2fb2c552de8c20dc9f5da4e8783b935
2015-06-24remove SFX_NOTIFY macroNoel Grandin
it has not served any purpose since we switched to using normal C++ RTTI for the SfxHint objects Change-Id: Ic81353bcb7863ce892eb75296248ca14d8fd6c86
2015-06-17Replace boost::scoped_array<T> with std::unique_ptr<T[]>Takeshi Abe
This may reduce some degree of dependency on boost. Done by running a script like: git grep -l '#include *.boost/scoped_array.hpp.' \ | xargs sed -i -e 's@#include *.boost/scoped_array.hpp.@#include <memory>@' git grep -l '\(boost::\)\?scoped_array<\([^<>]*\)>' \ | xargs sed -i -e 's/\(boost::\)\?scoped_array<\([^<>]*\)>/std::unique_ptr<\2[]>/' ... and then killing duplicate or unnecessary includes, while changing manually m_xOutlineStylesCandidates in xmloff/source/text/txtimp.cxx, extensions/source/ole/unoconversionutilities.hxx, and extensions/source/ole/oleobjw.cxx. Change-Id: I3955ed3ad99b94499a7bd0e6e3a09078771f9bfd Reviewed-on: https://gerrit.libreoffice.org/16289 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-05-19tdf#90110: basic: fix Randomize statementMichael Stahl
- time() is used to seed the RNG but since it only has second resolution, the same values will be generated if it's called multiple times like in the bug report - BASIC using the global rng would be fine except that BASIC Randomize takes an optional parameter to set the seed, which should continue to be supported, but should not affect the RNG state for non-BASIC users of comphelper::random (regression from df466d79cb126667cc9d5c108367bfa4f5ce76c8, but the old implementation was even more delightfully absurd, where Randomize was essentially srand((sal_uInt16)rand()) ...) Change-Id: I0f30e509de08f933c02ac77c5d932b20e79586c5
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-04-13loplugin:staticmethodsNoel Grandin
Change-Id: If97f01a05294fa7efd59a8934c7b6f65cda5084a
2015-02-05Updated all precompiled headers.Ashod Nakashian
Change-Id: I955c8ac4dbe002d23531df7eb10fb4444d6b5157 Reviewed-on: https://gerrit.libreoffice.org/14292 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-01-26new loplugin: change virtual methods to non-virtualNoel Grandin
Where we can prove that the virtual method is never overriden. In the case of pure-virtual methods, we remove the method entirely. Sometimes this leads to entire methods and fields being eliminated. Change-Id: I138ef81c95f115dbd8c023a83cfc7e9d5d6d14ae
2015-01-07Resolves: fdo#87003 - Kill BOOST_FOREACHPieter Adriaensen
Conflicts: avmedia/source/framework/modeltools.cxx basic/source/sbx/sbxbase.cxx sd/source/filter/eppt/pptx-epptooxml.cxx svx/qa/unit/svdraw/test_SdrTextObject.cxx sw/qa/core/uwriter.cxx sw/source/core/doc/CntntIdxStore.cxx sw/source/core/doc/DocumentLinksAdministrationManager.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/gctable.cxx sw/source/core/doc/htmltbl.cxx sw/source/core/doc/sortopt.cxx sw/source/core/doc/tblcpy.cxx sw/source/core/doc/tblrwcl.cxx sw/source/core/docnode/ndcopy.cxx sw/source/core/docnode/ndtbl.cxx sw/source/core/docnode/ndtbl1.cxx sw/source/core/frmedt/tblsel.cxx sw/source/core/text/itratr.cxx sw/source/core/tox/ToxLinkProcessor.cxx sw/source/filter/xml/xmltble.cxx Change-Id: Id176d4e052c719c9afdf91ed450de84d8d2bc486 Reviewed-on: https://gerrit.libreoffice.org/13575 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-10-23basic: move SbxAppData to a BasicDLL memberMichael Stahl
... so it is deleted by ~SfxApplication. Change-Id: I161bd92eb9b5082d1fdeea603921d0372a4d97e6
2014-10-15More -Werror,-Wunused-private-fieldStephan Bergmann
...detected with a modified trunk Clang with > Index: lib/Sema/SemaDeclCXX.cpp > =================================================================== > --- lib/Sema/SemaDeclCXX.cpp (revision 219190) > +++ lib/Sema/SemaDeclCXX.cpp (working copy) > @@ -1917,9 +1917,10 @@ > const Type *T = FD.getType()->getBaseElementTypeUnsafe(); > // FIXME: Destruction of ObjC lifetime types has side-effects. > if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl()) > - return !RD->isCompleteDefinition() || > - !RD->hasTrivialDefaultConstructor() || > - !RD->hasTrivialDestructor(); > + return !RD->hasAttr<WarnUnusedAttr>() && > + (!RD->isCompleteDefinition() || > + !RD->hasTrivialDefaultConstructor() || > + !RD->hasTrivialDestructor()); > return false; > } > > @@ -3517,9 +3518,11 @@ > bool addFieldInitializer(CXXCtorInitializer *Init) { > AllToInit.push_back(Init); > > +#if 0 > // Check whether this initializer makes the field "used". > if (Init->getInit()->HasSideEffects(S.Context)) > S.UnusedPrivateFields.remove(Init->getAnyMember()); > +#endif > > return false; > } to warn about members of SAL_WARN_UNUSED-annotated class types, and warn about initializations with side effects (cf. <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-October/039602.html> "-Wunused-private-field distracted by side effects"). Change-Id: I3f3181c4eb8180ca28e1fa3dffc9dbe1002c6628
2014-08-13update_pchThomas Arnhold
Change-Id: Ic1dae7aac2f4367b4196ba3128c0aea9be1fbbda
2014-07-17Renamed brdcst.[hc]xx to SfxBroadcaster.[hc]xxTobias Lippert
- Remove includes from files where they are not needed. - Update pch files Change-Id: I0188e3934ef429008c1ef495ab1d5b27f38664d5 Reviewed-on: https://gerrit.libreoffice.org/10342 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-07-11new loplugin: externalandnotdefinedNoel Grandin
Find "missing headers," where a function is declared directly in the .cxx (as extern) and not defined, and should arguably instead be declared in an include file. Change-Id: I6d83ee432b2ab0cd050aec2b27c3658d32ac02a2
2014-05-17fdo#70474: Random number generation weak with Rnd in BASICThomas Arnhold
Just reuse the rng functionality. This improves the randomness. Initialize seed with system time if no argument for RANDOMIZE is given. As the help text states: "If Number is omitted, the generator uses the current value of the system timer". Change-Id: I5fa46e8344b2402dff66a8db2449d43e2ca27d6d Reviewed-on: https://gerrit.libreoffice.org/9349 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-05-09update_pch: add a bunch of pch filesThomas Arnhold
I had to fix some source files because of macro redefinitions and such stuff. Small modules like basic have a great win, too: make basic.clean && time make basic: with w/o pch pch accessibility 23s 1m59s basctl 30s 1m42s basic 56s 1m35s comphelper 23s 51s editeng 48s 2m04s forms 40s 1m40s unotools 19s 38s sd 3m37s 4m33s Change-Id: Id24cdcddbe2ff64820b42266325c25af1355558f Reviewed-on: https://gerrit.libreoffice.org/9293 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
2014-04-09Clean up function declarations and some unused functionsStephan Bergmann
Change-Id: I63c4c61847fea4500b667a5ea9f2b32207692033
2014-04-07basic: sal_Bool->boolNoel Grandin
Change-Id: I1c084ca86c0b1308eb2fc1451ba34d2e702c6a7f
2014-04-07Replace SV_DECL/IMPL_REF macros with SvRef templateStephan Bergmann
Change-Id: I0ef2e67f6d61e0ce118c0f5e926b8194ef9d8058
2014-04-04SbxObject::isClass sal_Bool->boolNoel Grandin
Change-Id: I71f7b3603df43924d7374969444b929e1eecca4e
2014-04-01Explicitly mark overriding destructors as "virtual"Stephan Bergmann
It appears that the C++ standard allows overriding destructors to be marked "override," but at least some MSVC versions complain about it, so at least make sure such destructors are explicitly marked "virtual." Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-03-27Second batch of adding SAL_OVERRIDE to overriding function declarationsStephan Bergmann
...mostly done with a rewriting Clang plugin, with just some manual tweaking necessary to fix poor macro usage. Change-Id: Ie656f9d653fc716f72ac175925272696d509038f
2014-03-26Split TYPEINFO into plain and TYPEINFO_OVERRIDEStephan Bergmann
...where the latter contains SAL_OVERRIDE annotations Change-Id: Id64794b388d83dfe7026440e8b20a5b5efd412d1
2014-02-23Remove unneccessary commentsAlexander Wilms
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb Reviewed-on: https://gerrit.libreoffice.org/8182 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-27coverity#707629 Uninitialized scalar fieldCaolán McNamara
Change-Id: I0e3d9d4dad46e9b88be11cc9ac2c7d3c0c4b6f6e
2013-12-11sbxbase.hxx is private to basicTor Lillqvist
Change-Id: I108bd247a40ce2b46034cabe8b075fa4f5a396df
2013-12-11sbstdobj.hxx is private to basicTor Lillqvist
Change-Id: I131dfeded783edfea94208d1cf8d70a2090785fa
2013-12-11sbprop.hxx is private to basicTor Lillqvist
Change-Id: I1d7a28652ee7743b6823d78e1565338a324f0a6a
2013-12-11sbobjmod.hxx is private to basicTor Lillqvist
Change-Id: I4ad28b049de5f7268ee1ca2e8992e2f29ed05380
2013-12-11basic/global.hxx is private to basicTor Lillqvist
Change-Id: I90a28e34eb45819e240931cd751ac0a546ea6be8