Commit Graph
660 Commits
Author SHA1 Message Date
Noel Grandin 8b0a69498b loplugin:flatten in basic
Change-Id: Icb8e3cda312b50c9a9f12f96bec1c746f41c8979
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92483
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-19 08:30:49 +02:00
Noel Grandin 14471a6942 loplugin:buriedassign in b*
Change-Id: Ic20f46105a30b54bc5a991b4070e6c8edb15376e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92189
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-14 16:17:55 +02:00
Andreas Heinisch 384afeaa3d tdf#130476 - take into account trailing data type characters
For hex/octal literals take into account trailing suffix types
from GetSuffixType in basic/source/comp/scanner.cxx.

The suffix type $ (String) is not allowed for numeric values
or hex/octal literals and leads to a syntax error
(ERRCODE_BASIC_SYNTAX) during compile time.

Change-Id: Id6c4bbf1296361879f7dec461a48bbdc5c683338
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90978
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-27 14:16:03 +01:00
Mike Kaganski 7b122710e8 Initialize buffer
Also assert that correct data type is passed to SbiStringPool::Add.

Change-Id: I774d983be82d702b31de1054d13661e1d0e9c1dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90983
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-24 18:06:23 +01:00
Andreas Heinisch 16b0bbb671 tdf#131296: get numeric value with its data type in StepLOADNC
In order to load numeric values, generate SbiOpcode::NUMBER_ opcodes
including the numeric value and its data type instead of SbiOpcode::CONST_.

The numeric value and its data type will be restored in
SbiRuntime::StepLOADNC. When the new compiled code is stored in documents,
e.g. password-protected libraries, leagcy LO versions will just read up to
non-numeric characters, thus correctly obtaining number value and ignoring
the type, so the change is backward-compatible.

To interpret legacy compiled code, old treatment of SbiRuntime::StepLOADI
is restored, reverting commit 0b4f8bf571.
This change reimplements the fix for tdf#129596.

Change-Id: I46ebfc77f9bea69479968950c0fb7264e4a7ab27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90858
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-24 09:30:38 +01:00
Yukio Siraichi 8e173a965d tdf#130977 replace rtl::math::isFinite with std::isfinite.
- make all calls look like `std::isfinite`.
- change the comments referring `rtl::math::isFinite`.

Change-Id: I0cde9ceb9f20150467b454cddde5e62003cfde1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90234
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-12 10:34:46 +01:00
Andrea Gelmini 6df75678be Removed executable permission on files
Change-Id: I30033d9a12f2b5d8208abb68a4a63af05c240c99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86272
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-01-06 15:16:45 +01:00
U-DESKTOP-8OSNV7R\DrRobotto 0b4f8bf571 tdf#129596 Distinguish between integer and long while loading immediate values
During the generation of CONST_ expressions, distinguish between
integer and long and load the correct value in the immediate load step.

Change-Id: Ib4eb65d7fae3163043899ad8234816b1ebd7316b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85779
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-01-05 21:42:27 +01:00
Mike Kaganski 62f3f3d92a SbxArray: drop 16-bit indices
Change-Id: I43b478187636b9bb53fdf7ab938436ae364bd7a7
Reviewed-on: https://gerrit.libreoffice.org/84733
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-12-09 14:18:25 +01:00
Mike Kaganski 0ed214fd8f tdf#59327: two arguments with the same name is an error
Change-Id: I8d10487d6d6729de749a373feb0a8a349f2986e9
Reviewed-on: https://gerrit.libreoffice.org/84686
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-12-07 20:01:16 +01:00
Mike Kaganski 840c3a6620 tdf#59327: DIM should fail in procedures when same-name argument is present
Change-Id: I0a6828bd0b0c27018dc02c36ee207b8666f88ec0
Reviewed-on: https://gerrit.libreoffice.org/84682
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-12-07 17:30:27 +01:00
Noel Grandin 30c707666d tdf#129107 objects in basic disappear
Reverts part of "loplugin:useuniqueptr in SbModule"
   This reverts commit 263d732569.

because SbClassModuleObject is playing silly buggers with
ownership by messing with fields in its SbModule superclass.

Change-Id: I725332d080663e94b57f4bd4e1fb05aeeddf9038
Reviewed-on: https://gerrit.libreoffice.org/84352
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-04 08:59:40 +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 7ddedd2594 tdf#42949 Fix IWYU warnings in basic/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I325149be2ea7697b5b4a2ce4a662edd2f8be6e50
Reviewed-on: https://gerrit.libreoffice.org/82312
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-12 09:20:55 +01:00
Mike Kaganski d628258f27 tdf#80731: Only check closing parenthesis when in IDE
This reinstates the fix by Pierre Lepage, which was reverted in
351dead74b, and makes sure it only
has effect when the compilation is started from IDE.

The idea is that the IDE is used primarily for development, and
that's a good opportunity to detect any error in the code. When
the code is compiled from outside of the IDE (like running an
extension), the error is tolerated to allow users run the legacy
code having this error. Hopefully this is enough for tdf#106529.

This re-uses comphelper's NoEnableJavaInteractionContext class,
which is converted into general-purpose SetFlagContext class to
avoid code duplication.

Change-Id: Ie290019cb190b8d1d590699ec13bd63eac478d09
Reviewed-on: https://gerrit.libreoffice.org/81616
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-11-09 09:53:38 +01:00
Noel Grandin 7b99cdb2d7 loplugin:indentation find broken if statements
so I don't read the "then" block as being a sequential statements

Change-Id: Ib2004acd3518bd4ebd2246f02a26c2c0a8bbab4c
Reviewed-on: https://gerrit.libreoffice.org/82069
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-06 06:27:51 +01:00
Noel Grandin e276c81264 size some stringbuffer to prevent re-alloc
I started with 32 and kept doubling the size until the site
did not need re-alloc, but clamped it at 512 (e.g. in emfio/).

Change-Id: Ib7caf35a1b7e42b0e4ed8aa812493449e3eefc8f
Reviewed-on: https://gerrit.libreoffice.org/81540
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-26 12:38:33 +02:00
Mike Kaganski 1b2f97a5bd These should be sal_Int32
Change-Id: If00ef09bec9b66cd4b7725398b2cdb3f49a3fe90
Reviewed-on: https://gerrit.libreoffice.org/81274
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-22 06:49:47 +02:00
Mike Kaganski 7199f8c91f tdf#128263: update push positions in single line IF
The positions (including current line) might have changed in Next(),
even though it's "single line IF", due to line continuation char _.
nP* members haven't been updated yet, so next call to Next() after
Push() would restore wrong positions.

I didn't store values of nLine/nCol1/nCol2 before if( IsEoln( Next() ) ),
(doing which would allow to mimic Peek() behaviour), because I don't
see how restoring their old values in the single line IF case would
affect the logic. Possibly something to do later.

Change-Id: I5a2a5c307ccbba77e9c02db50a04e33d71cd15a8
Reviewed-on: https://gerrit.libreoffice.org/81204
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-21 10:18:33 +02:00
Andreas Heinisch d5b7627a0e tdf#62326 - Macros: Converting Hex strings of negative value
If the value of the hex string lies within the range of 0x8000
(SbxMAXINT + 1) and 0xFFFF (SbxMAXUINT) inclusive, cast the value to 16 bit
in order to get signed integers, e.g., SbxMININT through SbxMAXINT.

Moved unit test to test_scanner.cxx in order to test basic hex
convertations. Removed old vba unit tests.

Change-Id: I247b41c40197afc5328ef5685c758c1dd1cefae5
Reviewed-on: https://gerrit.libreoffice.org/79583
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2019-09-27 18:22:26 +02:00
Noel Grandin f1ec3c675f loplugin:constmethod in basic
Change-Id: Ib2056ab8437e163c7ae42e3ab7a4a3f8b6cb80a2
Reviewed-on: https://gerrit.libreoffice.org/78547
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-03 15:14:00 +02:00
Andrea Gelmini 0940229305 Fix '..'
To complete this:
https://gerrit.libreoffice.org/#/c/78312/

This is a massive replace for lines ending with
".." instead of "..."

It passed "make check" on Linux.

Change-Id: I07fa7b2e30ba9ea17a1f9a5e21c57216ba958efe
Reviewed-on: https://gerrit.libreoffice.org/78356
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2019-09-01 11:15:11 +02:00
Andrea Gelmini 9e6ca513ac Fix typo
Change-Id: I715da280563c7c3f03eb9b521478db4481ae4b2f
Reviewed-on: https://gerrit.libreoffice.org/72322
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-05-15 07:07:07 +02:00
Jens Carl 9f71d0f3f9 tdf#68339 Other: BASIC Syntax error
Allow expressions (operands) of comparison operators prefixed with the
Logical Operator "Not".

Change-Id: I1b070e2288dac26b1f1186d38cf5d2f4ad99a406
Reviewed-on: https://gerrit.libreoffice.org/71332
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-03 08:24:18 +02:00
Andrea Gelmini b391088456 Fix typo
Change-Id: I88a8fb94cb1e7653d63a77bdb63d1303cc848704
Reviewed-on: https://gerrit.libreoffice.org/70361
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-07 08:04:31 +02:00
Gabor Kelemen 754c6af45a tdf#42949 Fix IWYU warnings in include/basic/*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I9dd7984affc4343f148c66077feaac19176adf51
Reviewed-on: https://gerrit.libreoffice.org/68769
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-07 14:20:10 +01:00
Noel Grandin 83db9afa20 remove some unnecessary typedef struct... sugar
Change-Id: I1576282b0a0a3af8ae14c04725d9c4900073f2c4
Reviewed-on: https://gerrit.libreoffice.org/68758
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-06 06:47:21 +01:00
Noel Grandin 0d1253c232 new loplugin writeonlyvars
largely based on the relevant portion of the unusedfields loplugin, but
adapted for local vars

Change-Id: Ic522a941573940e8f75c88f90ba5f37508ca49b1
Reviewed-on: https://gerrit.libreoffice.org/66835
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-11 13:25:31 +01:00
Noel Grandin 587ac01f97 loplugin:indentation in basctl..bridges
Change-Id: Ie4e27466c4258c6f774a3ebb82ec3a88c28fd753
Reviewed-on: https://gerrit.libreoffice.org/67525
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-08 10:01:05 +01:00
Gabor Kelemen e48e063254 o3tl::make_unique -> std::make_unique in basctl...bridges
Since it is now possible to use C++14, it's time to replace
the temporary solution with the standard one

Change-Id: I9a20a58c68d12656359dcaa060d8ab41f621af32
Reviewed-on: https://gerrit.libreoffice.org/66262
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-16 07:20:49 +01:00
Stephan Bergmann 70519a43e0 Replace OUStringBuffer::appendCopy with append(std::u16string_view)
...which is more general

Change-Id: I94f28f8eda887120cf5f143b4549e0339b60e6a7
Reviewed-on: https://gerrit.libreoffice.org/66155
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-11 13:55:14 +01:00
Doğa Deniz Arıcı f0f462bfa5 tdf#112689: Replace chained O(U)StringBuffer::append() with operator+
Change-Id: Ieb5c1e13ae647b49fd563f1759d744bd5f008ce1
Reviewed-on: https://gerrit.libreoffice.org/65758
Tested-by: Jenkins
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-10 08:50:31 +01:00
Noel Grandin bd26a8efd5 use unique_ptr in SbiExpression
Change-Id: I8b44215c438b749afce4ad056cab2c2ac66d4bda
Reviewed-on: https://gerrit.libreoffice.org/65534
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-21 18:52:05 +01:00
Andrea Gelmini a35bfce31f Fix typo
Change-Id: I9de253ee55e662b0356f1fe305cd0acb050474da
Reviewed-on: https://gerrit.libreoffice.org/64826
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-12-09 09:12:25 +01:00
Stephan Bergmann ab9b67bbb0 Remove obsolete SAL_FALLTHROUGH completely
...after 7ffdd830d5
"HAVE_CPP_ATTRIBUTE_FALLTHROUGH is always true now"

Change-Id: I54e5ff4e036a6bb3e5774d1c0524158aae18e937
Reviewed-on: https://gerrit.libreoffice.org/64800
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-08 13:28:16 +01:00
Noel Grandin e4472d3c13 loplugin:unnecessaryparen include more assignments
Change-Id: I9fb8366634b31230b732dd38a98f800075529714
Reviewed-on: https://gerrit.libreoffice.org/64510
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-05 07:49:30 +01:00
Noel Grandin 48314f2524 improve function-local statics in basic..cui
Change-Id: If737e8478f6f1c8fffb060ce132d80e0f07ef8ee
Reviewed-on: https://gerrit.libreoffice.org/63701
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21 12:28:23 +01:00
Noel Grandin 819149fb1f loplugin:collapseif in accessibility..cui
Change-Id: I1437b493f3289b4ac97d061bd71973580571e792
Reviewed-on: https://gerrit.libreoffice.org/62933
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-06 10:28:47 +01:00
Jan-Marek Glogowski 2226d69ae3 Make SbiProcDef::Match more readable
This reverts commit 02caaef29d ("loplugin:useuniqueptr in
SbiProcDef") and is hopefully easier to follow.

Change-Id: I46be2b3c7a933743795d89fe17a2c499c6983382
Reviewed-on: https://gerrit.libreoffice.org/62548
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-30 21:40:26 +01:00
Mike Kaganski db7e454bf7 tdf#120703 PVS: V668
V668 There is no sense in testing the 'pProc' pointer against null, as the
     memory was allocated using the 'new' operator. The exception will be
     generated in the case of memory allocation error.

Change-Id: Iec65fd44fa947a2402da33510c29730a46c2e1a4
Reviewed-on: https://gerrit.libreoffice.org/62424
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-27 18:00:01 +02:00
Mike Kaganski 6a12a9e941 tdf#120703 PVS: V530 The return value of function is required to be utilized
Change-Id: Ifc170a45e25b3fd5b7f561cc50afb6452bb359bd
Reviewed-on: https://gerrit.libreoffice.org/62420
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-27 15:30:59 +02:00
Gabor Kelemen 33623f3117 tdf#42949 Fix IWYU warnings in include/unotools/*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I444c43b9d549977039f25bec2b5bf666c3e15e0e
Reviewed-on: https://gerrit.libreoffice.org/62041
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-26 15:08:18 +02:00
Mike Kaganski 3d0559e4b8 tdf#120703 (PVS): redundant nullptr check
V668 There is no sense in testing the 'pChan' pointer against null, as the
     memory was allocated using the 'new' operator. The exception will be
     generated in the case of memory allocation error.

Change-Id: I1cb78c27da753525f05de2d3a0b74c894b07528e
Reviewed-on: https://gerrit.libreoffice.org/62124
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-10-21 12:26:39 +02:00
Stephan Bergmann 206b5b2661 New loplugin:external
...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-09-17 09:05:38 +02:00
Noel Grandin a18a72ac1a loplugin:useuniqueptr in SbiExprNode
Change-Id: I2025251e35a48f47a51f11d790c3a22e118f3c05
Reviewed-on: https://gerrit.libreoffice.org/59348
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-22 08:26:41 +02:00
Noel Grandin cd66852f6d create appendCopy method in OUStringBuffer
so we can avoid temporary copies when appending a substring of an
OUString to the buffer. I would have preferred to call the method just
"append" but that results in ambiguous method errors when the callsite
is something like
   sal_Int32 n;
   OUStringBuffer s;
   s.append(n, 10);
I'm not sure why

Change-Id: I6b5b6641fcb5b26ce2269f89ef06e03c0b6aa76f
Reviewed-on: https://gerrit.libreoffice.org/58666
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-14 08:35:00 +02:00
Noel Grandin 02caaef29d loplugin:useuniqueptr in SbiProcDef
Change-Id: I31c43f8fe40d90094d550b02c5d6213e59149bad
Reviewed-on: https://gerrit.libreoffice.org/58486
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-03 09:08:04 +02:00
Noel Grandin b83cc2b010 loplugin:stringloop in basic, framework, sax, svtools
Change-Id: I2bad74a8f103e9dc68c8e0d0e6315697068d2f6d
Reviewed-on: https://gerrit.libreoffice.org/58135
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-27 11:35:24 +02:00
Stephan Bergmann e6ab9174b0 basic: avoid -Werror=deprecated-copy (GCC trunk towards GCC 9)
...by removing explicitly user-provided functions that do the same as their
implicitly-defined counterparts, but may prevent implicitly declared copy
functions from being defined as non-deleted in the future.  (Even if a dtor was
declared non-inline in an include file, the apparently-used implicitly-defined
copy functions are already inline, so why bother with a non-inline dtor.)

Change-Id: I8a31ab0c806cb0f3c226d217f152a205aff6c07f
Reviewed-on: https://gerrit.libreoffice.org/58065
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-26 16:27:20 +02:00
Eike Rathke c8835f2f03 Related: tdf#118073 SbiScanner::NextSym: no symbol is no symbol
Whatever may or may not advance or put back nLineIdx, if there's
no progress at the end return false so we don't end up in an
endless loop with the next NextSym() starting at the same
position.

Change-Id: I7084fea073490c15b8ff5abb3781ac82cdccd6d6
Reviewed-on: https://gerrit.libreoffice.org/56029
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2018-06-18 17:12:35 +02:00