Commit Graph
126 Commits
Author SHA1 Message Date
Noel Grandin f4ac99f717 loplugin:moveparam in xmlscript
Change-Id: I8c33291dae8a4f90c02f47d823b127ca4e383d61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123338
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-10 19:45:48 +02:00
Stephan Bergmann 10d29c390d throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-02 17:02:28 +02:00
Mike Kaganski 96388e5e80 Drop 'static_cast<cppu::OWeakObject*>' syntactic noise
... where the object is created in-place, and its type is known

Change-Id: Ifabfcf2f3ad0d60152f14e8d970c1faa42115288
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112256
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-03-10 08:22:26 +01:00
Caolán McNamara de74d98c58 OUStringLiteral/OStringLiteral coverity PARSE_ERROR workaround
do more like

commit 121771e37f
Date:   Mon Sep 21 09:17:54 2020 +0200

    Make some OUStringLiteral vars constexpr

cause coverity can live with that

Change-Id: I9efd7f848289c4865997a44c6780373068422227
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103147
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-22 12:58:14 +02:00
Stephan Bergmann 33ecd0d5c4 Change OUStringLiteral from char[] to char16_t[]
This is a prerequisite for making conversion from OUStringLiteral to OUString
more efficient at least for C++20 (by replacing its internals with a constexpr-
generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount,
conditionally for C++20 for now).

For a configure-wise bare-bones build on Linux, size reported by `du -bs
instdir` grew by 118792 bytes from 1155636636 to 1155755428.

In most places just a u"..." string literal prefix had to be added.  In some
places

  char const a[] = "...";

variables have been changed to char16_t, and a few places required even further
changes to code (which prompted the addition of include/o3tl/string_view.hxx
helper function o3tl::equalsIgnoreAsciiCase and the additional
OUString::createFromAscii overload).

For all uses of macros expanding to string literals, the relevant uses have been
rewritten as

  u"" MACRO

instead of changing the macro definitions.  It should be possible to change at
least some of those macro definitions (and drop the u"" from their call sites)
in follow-up commits.

Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-28 08:07:09 +02:00
Noel Grandin 3457da6abe loplugin:stringstatic also look for local statics
Add some API to O*StringLiteral, to make it easier
to use in some places that were using O*String

Change-Id: I1fb93bd47ac2065c9220d509aad3f4320326d99e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-13 08:16:03 +02:00
Noel Grandin 67f4ece34f xmlscript: create instances with uno constructors
See tdf#74608 for motivation

Change-Id: I648835e938746ff4f89b05d73d8960f9f8953070
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98191
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-06 20:17:26 +02:00
Stephan Bergmann 54c866828a Upcoming improved loplugin:staticanonymous -> redundantstatic: xmlscript
Change-Id: I59dc2d6949eb51394874403e62079ad75063882d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97773
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-02 19:42:13 +02:00
Stephan Bergmann aef7feb3e6 New loplugin:unsignedcompare
"Find explicit casts from signed to unsigned integer in comparison against
unsigned integer, where the cast is presumably used to avoid warnings about
signed vs. unsigned comparisons, and could thus be replaced with
o3tl::make_unsigned for clairty." (compilerplugins/clang/unsignedcompare.cxx)

o3tl::make_unsigned requires its argument to be non-negative, and there is a
chance that some original code like

  static_cast<sal_uInt32>(n) >= c

used the explicit cast to actually force a (potentially negative) value of
sal_Int32 to be interpreted as an unsigned sal_uInt32, rather than using the
cast to avoid a false "signed vs. unsigned comparison" warning in a case where
n is known to be non-negative.  It appears that restricting this plugin to non-
equality comparisons (<, >, <=, >=) and excluding equality comparisons (==, !=)
is a useful heuristic to avoid such false positives.  The only remainging false
positive I found was 0288c8ffec "Rephrase cast
from sal_Int32 to sal_uInt32".

But which of course does not mean that there were no further false positivies
that I missed.  So this commit may accidentally introduce some false hits of the
assert in o3tl::make_unsigned.  At least, it passed a full (Linux ASan+UBSan
--enable-dbgutil) `make check && make screenshot`.

It is by design that o3tl::make_unsigned only accepts signed integer parameter
types (and is not defined as a nop for unsigned ones), to avoid unnecessary uses
which would in general be suspicious.  But the STATIC_ARRAY_SELECT macro in
include/oox/helper/helper.hxx is used with both signed and unsigned types, so
needs a little oox::detail::make_unsigned helper function for now.  (The
ultimate fix being to get rid of the macro in the first place.)

Change-Id: Ia4adc9f44c70ad1dfd608784cac39ee922c32175
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87556
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-28 07:42:15 +01:00
Stephan Bergmann f853ec317f Extend loplugin:external to warn about classes
...following up on 314f15bff0 "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-11-22 12:57:32 +01:00
Gabor Kelemen 3dfb4c47ad tdf#42949 Fix IWYU warnings in xmlscript/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I7f15170473100c50bd4d287ec8cb4a8d6186c703
Reviewed-on: https://gerrit.libreoffice.org/81164
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-10-21 14:35:41 +02:00
Stephan Bergmann 7b4b70afba Avoid -fsanitizeinvalid-null-argument
...as witnessed once with some `instdir/program/unopkg remove ooo2gd_3.0.0.oxt`:

> xmlscript/source/xml_helper/xml_byteseq.cxx:116:13: runtime error: null pointer passed as argument 1, which is declared to never be null
> /usr/include/string.h:43:28: note: nonnull attribute specified here
>  #0 in xmlscript::BSeqOutputStream::writeBytes(com::sun::star::uno::Sequence<signed char> const&) at xmlscript/source/xml_helper/xml_byteseq.cxx:116:5
>  #1 in fileaccess::TaskManager::page(int, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::io::XOutputStream> const&) at ucb/source/ucp/file/filtask.cxx:655:32
>  #2 in fileaccess::BaseContent::open(int, com::sun::star::ucb::OpenCommandArgument2 const&) at ucb/source/ucp/file/bc.cxx:911:29
>  #3 in fileaccess::BaseContent::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at ucb/source/ucp/file/bc.cxx:323:53
>  #4 in non-virtual thunk to fileaccess::BaseContent::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at ucb/source/ucp/file/bc.cxx
>  #5 in ucbhelper::Content_Impl::executeCommand(com::sun::star::ucb::Command const&) at ucbhelper/source/client/content.cxx:1254:19
>  #6 in ucbhelper::Content::openStream(com::sun::star::uno::Reference<com::sun::star::io::XOutputStream> const&) at ucbhelper/source/client/content.cxx:816:14
>  #7 in dp_misc::readFile(ucbhelper::Content&) at desktop/source/deployment/misc/dp_ucb.cxx:195:23
>  #8 in dp_misc::readLine(rtl::OUString*, rtl::OUString const&, ucbhelper::Content&, unsigned short) at desktop/source/deployment/misc/dp_ucb.cxx:207:34
>  #9 in dp_registry::backend::configuration::(anonymous namespace)::BackendImpl::configmgrini_verify_init(com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at desktop/source/deployment/registry/configuration/dp_configuration.cxx:371:17
[...]

Change-Id: I66bef2d1bc037efa893f3ae3ad8058aa16f7cc5b
Reviewed-on: https://gerrit.libreoffice.org/78042
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-23 23:33:18 +02:00
Noel Grandin 7ae43f63aa loplugin:constvars in writerfilter..xmlscript
Change-Id: I5a318632bcc575ea7e476ec0fb74c905b252ecdd
Reviewed-on: https://gerrit.libreoffice.org/77829
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-20 16:57:05 +02:00
Stephan Bergmann af896b031c Improved loplugin:stringconstant (now that GCC 7 supports it): xmlscript
Change-Id: Ic294ce631c87f2a7ecbcec69f9ecd38183d7dd45
Reviewed-on: https://gerrit.libreoffice.org/76622
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-31 12:51:48 +02:00
Mike Kaganski 184be2d135 tdf#120703 PVS: remove redundant static casts
V572 It is odd that the object which was created using 'new' operator
     is immediately cast to another type.

Change-Id: I54976062dc3f62eaaa79f89eff54454f0b24ac2c
Reviewed-on: https://gerrit.libreoffice.org/69989
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-31 07:27:24 +02:00
Gabor Kelemen d90ec5d26f tdf#42949 Fix IWYU warnings in include/xmlscript/*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Iacc5b98b947a26ca920cb9c49e579bc61d69b0c9
Reviewed-on: https://gerrit.libreoffice.org/62119
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-25 09:09:35 +02:00
Noel Grandin 6d7ffb35c4 clang-tidy readability-simplify-subscript-expr
error: accessing an element of the container does not require a call to
'data()'; did you mean to use 'operator[]'?

Change-Id: I022745aa84b80124f342ce6c596d51b4d904f012
Reviewed-on: https://gerrit.libreoffice.org/61820
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-16 14:44:00 +02:00
Arkadiy Illarionov 87b24ddbba Simplify containers iterations in xmlhelp, xmlreader, xmlscript, xmlsecurity
Use range-based loop or replace with functions from std algorithm.

Change-Id: I5b1859da37c2a6c6e5e70602287bfc2ada951893
Reviewed-on: https://gerrit.libreoffice.org/60463
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-15 09:06:38 +02:00
Noel Grandin 5cd976bdef loplugin:simplifyconstruct in writerfilter..xmlsecurity
Change-Id: Ic2d901ca0dbc2d6fa96611d260c1572da8a783c0
Reviewed-on: https://gerrit.libreoffice.org/60398
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-13 08:30:22 +02:00
Noel Grandin 7a11e70256 loplugin:useuniqueptr in DocumentHandlerImpl
Change-Id: I722f9a25040ab4ddd8a5d3e5b402c22e5cc3f454
Reviewed-on: https://gerrit.libreoffice.org/60002
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-05 09:31:40 +02:00
Noel Grandin 60bc263547 new loplugin:conststringfield
Look for const string fields which can be static, and
mostly convert them to OUStringLiteral

And add a getLength() method to OUStringLiteral to make
the transition easier.

Remove dead code in XclExpRoot::GenerateDefaultEncryptionData,
default password is never empty.

Change-Id: Iae75514d9dbb87289fd5b016222f640abe755091
Reviewed-on: https://gerrit.libreoffice.org/59204
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-22 13:31:57 +02:00
Noel Grandin 9ca80b5502 loplugin:useuniqueptr in ExtendedAttributes
Change-Id: I86af2614ac9e3282ecd2aba5d23f6a075712968f
Reviewed-on: https://gerrit.libreoffice.org/59351
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-21 12:10:07 +02:00
Noel Grandin f08a06052b loplugin:unusedfields,can-be-const in xmlscript
Change-Id: Ibd733b822bb2eee9de6319b5ea9e4d8dd3641cdc
Reviewed-on: https://gerrit.libreoffice.org/57850
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-24 08:32:37 +02:00
Stephan Bergmann ab279d30de More loplugin:cstylecast: xmlscript
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable
loplugin:cstylecast for some more cases" plus
solenv/clang-format/reformat-formatted-files

Change-Id: If9a6160a75ae56f563a098a5569af64eb8fab7d7
2018-01-12 20:09:15 +01:00
Noel Grandin 2a1fb4401d loplugin:passstuffbyref improved returns
improve the detection of stuff we can return by const &, instead of by
copying

Change-Id: I479ae89d0413125a8295cc3cddbc0017ed61ed69
Reviewed-on: https://gerrit.libreoffice.org/46915
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-23 08:04:54 +01:00
Noel Grandin 3af500580b loplugin:salcall fix functions
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-11 12:13:46 +01:00
Stephan Bergmann bfd7aead9d loplugin:includeform: xmlscript
Change-Id: I21a0229d575d6486031994a088fde842756b8feb
2017-10-23 22:45:46 +02:00
Noel Grandin 87a9979c89 overload std::hash for OUString and OString
no need to explicitly specify it anymore

Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec
Reviewed-on: https://gerrit.libreoffice.org/43567
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23 08:15:35 +02:00
Noel Grandin 5953099032 loplugin:flatten in vcl..xmlsecurity
Change-Id: I730fc0b3b6b7ac1803d75b5d9e007b15395888c6
Reviewed-on: https://gerrit.libreoffice.org/42826
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-27 09:06:10 +02:00
Caolán McNamara 1b3fc6e2b8 ofz: fix leak on exception
#0 0x600ca0 in operator new(unsigned long) /src/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:82
 #1 0x4802b4b in xmlscript::DocumentHandlerImpl::pushPrefix(rtl::OUString const&, rtl::OUString const&) /src/libreoffice/xmlscript/source/xml_helper/xml_impctx.cxx:259:32
 #2 0x47ff026 in xmlscript::DocumentHandlerImpl::startElement(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList> const&) /src/libreoffice/xmlscript/source/xml_helper/xml_impctx.cxx:480:17
 #3 0x7665a34 in xmlscript::XMLBasicImporterBase::startElement(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList> const&) /src/libreoffice/xmlscript/source/xmlflat_imexp/xmlbas_import.cxx:537:25
 #4 0x4c2831f in XMLBasicImportContext::StartElement(com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList> const&) /src/libreoffice/xmloff/source/script/xmlbasici.cxx:84:21
 #5 0x489c29b in SvXMLImport::startElement(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList> const&) /src/libreoffice/xmloff/source/core/xmlimp.cxx:728:15
 #6 0x4892ab7 in SvXMLImportContext::startUnknownElement(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /src/libreoffice/xmloff/source/core/xmlictxt.cxx:124:14
 #7 0x489ec2d in SvXMLImport::startUnknownElement(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /src/libreoffice/xmloff/source/core/xmlimp.cxx:889:15
 #8 0x86871f3 in (anonymous namespace)::Entity::startElement((anonymous namespace)::Event*) /src/libreoffice/sax/source/fastparser/fastparser.cxx:445:27
 #9 0x86823f1 in sax_fastparser::FastSaxParserImpl::consume((anonymous namespace)::EventList&) /src/libreoffice/sax/source/fastparser/fastparser.cxx:960:25
 #10 0x86812f8 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /src/libreoffice/sax/source/fastparser/fastparser.cxx:784:26
 #11 0x489842e in SvXMLImport::parseStream(com::sun::star::xml::sax::InputSource const&) /src/libreoffice/xmloff/source/core/xmlimp.cxx:464:15
 #12 0x837fb5d in filter::odfflatxml::OdfFlatXml::importer(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XDocumentHandler> const&, com::sun::star::uno::Sequence<rtl::OUString> const&) /src/libreoffice/filter/source/odfflatxml/OdfFlatXml.cxx:149:26

Change-Id: Ic4ba40dca088a333a1271e005a05bd3c6e7d70ac
Reviewed-on: https://gerrit.libreoffice.org/42375
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-17 18:21:07 +02:00
Caolán McNamara 61037c622b ofz: leak of prefixes in skipped elements
Change-Id: I8e83eb605bdf5991988e147cf8478e44c858a2b0
Reviewed-on: https://gerrit.libreoffice.org/42320
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-15 18:13:20 +02:00
Noel Grandin db3860062e extend loplugin useuniqueptr to OUString pointers
Change-Id: Ieb5bab3895e1edaff497c4a1a88303ccac097edc
Reviewed-on: https://gerrit.libreoffice.org/39948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-17 07:23:22 +02:00
Noel Grandin daf177f703 use more OUString::operator== in test..xmlsecurity
Change-Id: If5bdd1532be44a47ff7cc3b769be3ea585aea562
Reviewed-on: https://gerrit.libreoffice.org/39685
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-14 12:39:20 +02:00
Stephan Bergmann dd3df0f4cb loplugin:casttovoid: xmlscript
Change-Id: Iff674c2faed83e30316212336500865fabf59c30
2017-07-02 22:26:57 +02:00
Noel Grandin 513ac8eb79 loplugin:useuniqueptr in various
extending it to find places we can use std::unique_ptr on arrays

Change-Id: I9feb1d12d738d6931e752ecb6dd51cbc1540c81b
Reviewed-on: https://gerrit.libreoffice.org/39255
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-27 08:42:36 +02:00
Noel Grandin e4e4d5713e clang-tidy readability-delete-null-pointer
which in turn triggered some loplugin:useuniqueptr

Change-Id: I0c38561fc9b68dac44e8cf58c8aa1f582196cc64
Reviewed-on: https://gerrit.libreoffice.org/38281
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-12 08:43:48 +02:00
Chris Sherlock 97eb00c75e revert OSL_ASSERT changes
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07 17:03:35 +10:00
Chris Sherlock 34ca5a2fb5 tdf#43157: convert xmlscript from OSL_ASSERT to assert
Change-Id: I8470851db8f70cbde96ca033ebd5aa515da84510
2017-05-07 08:59:32 +10:00
Jochen Nitschke da56de9ac4 remove type decorations on char literals
they are only needed where type deduction fails.
left them in defines for now.

Change-Id: I7f002dd6bc7acc083c73b6c64076de6dd28d0b09
Reviewed-on: https://gerrit.libreoffice.org/35893
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-30 12:21:40 +00:00
Stephan Bergmann 6cb9e6dad7 Remove redundant 'inline' keyword
...from function definitions occurring within class definitions.  Done with
a rewriting Clang plugin (to be pushed later).

Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8
Reviewed-on: https://gerrit.libreoffice.org/34874
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-03 20:55:50 +00:00
Noel Grandin c1877a16b3 loplugin:unusedfields
Change-Id: I8a114bcda99f123d230d61b0d0595bfe657cc3c0
Reviewed-on: https://gerrit.libreoffice.org/34513
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-22 06:42:19 +00:00
Stephan Bergmann 6dce9c6757 Add missing #includes
...and remove some unncessary using directives/declarations, in preparation of
removing now-unnecessary #includes from cppumaker-generated files, post
e57ca02849 "Remove dynamic exception
specifications".

Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-02-06 17:21:16 +01:00
Stephan Bergmann e57ca02849 Remove dynamic exception specifications
...(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-26 12:54:43 +00:00
Noel Grandin 43e8797add use rtl::Reference in ExtendedAttributes
instead of manual acquire/release

Change-Id: Ibf91b19ecace75b7c304f2a1b2acdd8a4ca28452
2017-01-19 13:06:47 +02:00
Noel Grandin 2f7ccd102a extend unusedfields loplugin to find fields that can be private
and apply the results in xmlscript

Change-Id: Ib126f6e1576639abfd171e99d9561be9715ece2f
2016-11-17 08:40:27 +02:00
Stephan Bergmann 91dd2db17b loplugin:override: No more need for the "MSVC dtor override" workaround
The issue of 362d4f0cd4 "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-09-13 13:19:22 +02:00
Noel Grandin 96fab05132 clang-tidy modernize-loop-convert in writerfilter to xmlsecurity
Change-Id: I334411c6b57c028ffb41b5deb72002f9d54038c3
Reviewed-on: https://gerrit.libreoffice.org/24923
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-13 08:09:03 +00:00
Stephan Bergmann 11b3262dd1 loplugin:nullptr
Change-Id: I2eb28f3408967d9de4143f6b9212056ac8614d1c
2016-05-12 14:37:32 +02:00
Jochen Nitschke 150ac9cf05 clean-up: unused using declarations and includes
Searched source for using declarations.
Checked if those symbols reappear in the source file,
even in comments or dead code but not in #include statements.
If they don't reappear, remove the declaration.
Remove includes whose symbol got removed.

Change-Id: Ibb77163f63c1120070e9518e3dc0a78c6c59fab0
Reviewed-on: https://gerrit.libreoffice.org/24148
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-18 07:25:24 +00:00
Stephan Bergmann 5b32ba4217 -fsanitize=nonnull-attribute
Change-Id: Ice9fef5bdfd3e993b1b2ba035cbc971b8dacbe3a
2016-04-05 16:19:50 +02:00