Age | Commit message (Collapse) | Author |
|
...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>
|
|
Change-Id: Ida4307a92dfb1dbd14da5a30b6ee1f0fd6a9455e
Reviewed-on: https://gerrit.libreoffice.org/60194
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Icc820a47ac891c358883f9c01224f676c58fdd11
Reviewed-on: https://gerrit.libreoffice.org/59744
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we've been using the normal memory allocator instead of the sal slab
allocator ever since
commit bc6a5d8e79e7d0e7d75ac107aa8e6aa275e434e9
Date: Wed Nov 15 16:52:44 2017 +0530
Disable custom allocator
Change-Id: I3383962cedb85d56fbec695398901f6ff7057651
Reviewed-on: https://gerrit.libreoffice.org/58577
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I3f0bead636632682488cbe677fd7fee60350f04d
Reviewed-on: https://gerrit.libreoffice.org/58876
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to reduce needless object creation and copying some more
And fix what looks like a bug in CSS hex color parsing at line
609 in sw/../parcss1.cxx that has been there since
commit 7b0b5cdfeed656b279bc32cd929630d5fc25878b "initial import"
Change-Id: Ibad42b23721a56493bd1edcd7165e6104494a5c3
Reviewed-on: https://gerrit.libreoffice.org/58357
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Commit 67444cbe disabled svDoubleRef completely for OpenCL, which means
many formulas weren't handled by OpenCL even if the implicit intersection
problems are quite rare. This patch tries to detect formulas implicit
intersections in formulas and if it's certain that a formula does not
contain one, then it's ok to use OpenCL with svDoubleRef.
The detection is done by having ScCompiler analyze each opcode call
and its parameters, which should provide sufficient information to know
if implicit intersection can take place or not. The extra compilation
can be avoided by using OpenCL's compilation and doing the svDoubleRef
conversion later on the RPN code, to be done later.
This is opt-in, so if unsure don't do anything, if it turns out that some
opcode needs special handling, it can be simply added.
Change-Id: Iaa52fa7eb8b14dc8c2b92384a21e2ab8efe0ddd7
Reviewed-on: https://gerrit.libreoffice.org/57959
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
If the expression is bad, such as in sc/qa/.../sheet.fods, 'pCode - 1'
may actually refer before the array of tokens, since nothing has been
added yet. So make that element nullptr. This is a bit hackish, but
checking in every place that pCode is valid seems tedious.
Change-Id: Ia099a50583f60d93a2e20b1f7b5e44b0121a275b
Reviewed-on: https://gerrit.libreoffice.org/58198
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This extends 60c5ca1b87 to do implicit intersection while generating
RPN code for even more opcodes. This will serve as a basis for making
it possible to know when ScGroupTokenConverter can convert svDoubleRef
to a matrix without the problems mentioned in its convert() method.
Change-Id: I8dfeefc026418bd5644bd266ad94c31f670e811c
Reviewed-on: https://gerrit.libreoffice.org/57958
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
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>
|
|
Results are forced to recalculate for cells with General format in
case they need to inherit a format that then can be set. However,
a General format will never lead to some other format being set
for any string results and almost all string result cells will
have General format because the string is already what is being
displayed. So for formula cells with a string result available do
not allow to use ScFormulaCell::SetNeedNumberFormat() forcing the
need to recalculate.
This popped up during intercepting for tdf#118735 when the formula
cell containing a WEBSERVICE() call is set dirty, through
CompileXMLHandler::operator()(...)
if (pCell->NeedsNumberFormat())
pCell->SetDirtyVar();
Which again, as WEBSERVICE() has to be recalculated to populate
the link manager, made it necessary to add that to
ScRecalcMode::ONLOAD_LENIENT (which it should already had been
before (when that was ONLOAD), but no harm in this case).
Change-Id: I0dc2cdfe35c56d9843f0edd24a6d14e3de79f7ef
Reviewed-on: https://gerrit.libreoffice.org/57700
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I5dbf870ff27f1039e24f4350787cf5bfc5f4ccaf
Reviewed-on: https://gerrit.libreoffice.org/57487
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Strictly order the exclusive bits by priority, let AddRecalcMode()
handle all sets except forced ALWAYS or NORMAL.
Introduce ONLOAD_LENIENT and ONLOAD_MUST splitting ONLOAD to be
able to distinguish later during OOXML import.
Change-Id: I188de2d53a2d54df32d24eeeb148c4f9e87e7cfc
Reviewed-on: https://gerrit.libreoffice.org/57402
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Do implicit intersection computation for
for single parameter functions while generating
RPN token array when the argument is a doubleref
with relative row references. This optimization
is not done when under forced array mode or
matrix formula mode.
The computation logic was already present in ScInterpreter,
so factored it out and reused.
This also adds unit tests to ensure correctness of
II computation for various cases.
Change-Id: I509c3f6f811aa036b1dc3296e8f68904b26c3c49
Reviewed-on: https://gerrit.libreoffice.org/53885
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
and fix the fallout
Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e
Reviewed-on: https://gerrit.libreoffice.org/54882
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
For some reason, on macOS, when this is being invoked through the
shortcut, Application::AnyInput( VclInputFlags::KEYBOARD ) returns
true, so the code thinks that there is more keyboard input and won't
call UpdateTokenArray(), which sets m_pTokenArray.
I think that optmisation is questionable, especially as the exact
semantics of our event loop API, like Application::AnyInput(), is
under-defined and probably can and will change in various minor ways
when people work on improving it on the Mac (and perhaps other
platforms, too).
(The event loop etc certainly needs improvement on the Mac. Consider
the "WindowServer grows to tens of gigabytes when running make check"
issue which is closely related. Unfortunately nobody has come up with
a simple fix for that yet, exactly because we use our event loop
related APIs in so imaginative ways all over the code, and fixing one
thing usually breaks another.)
Change-Id: I865d46e5ee69609ad58bc915ff949e0f3602d8f5
Reviewed-on: https://gerrit.libreoffice.org/54448
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
The ocStyle token is only in the RPN tokens, the raw tokens array contains
only ocName, so it's necessary to check also RPN tokens.
Prevents a crash with tdf#91220/1 because of ScInterpreter::ScStyle() causing
a SfxBroadcaster::Broadcast() call.
Change-Id: I7fa04114b698918569014322c721751ab3d8c62f
Reviewed-on: https://gerrit.libreoffice.org/54326
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Change-Id: I031654d8bb4f1788d364ef4f8d3bf7a05fadb148
Reviewed-on: https://gerrit.libreoffice.org/54454
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5716295d2f0c88c6daf0570941d5dd4c5ff03a33
Reviewed-on: https://gerrit.libreoffice.org/54168
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and update the sum-range token in RPN array while creation of
the RPN array itself.
+ Adds unit tests.
+ In ScParallelismTest unit test, enable threading in its setUp()
method and restore the original setting in tearDown().
Change-Id: Iee9b7759210a82950181a418eb92766a6cf891fc
Reviewed-on: https://gerrit.libreoffice.org/49465
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: Ia9963190cf3dccbfa82951a3f2c0e29e00171429
Reviewed-on: https://gerrit.libreoffice.org/52847
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
collection of heuristics to look for local variables that are never read
from i.e. do not contribute to the surrounding logic
This is an expensive plugin, since it walks up the parent tree,
so it is off by default.
Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06
Reviewed-on: https://gerrit.libreoffice.org/52450
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and update sallogareas plugin to enforce this
Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a
Reviewed-on: https://gerrit.libreoffice.org/52249
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and fix fallout
Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee
Reviewed-on: https://gerrit.libreoffice.org/52206
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
|
|
... as indicated by m_pBtnMatrix hidden for reportdesign.
tdf#116468 cleansing.
Change-Id: I1727dcc9875f0728805bac63cc6c1f1533394c6c
|
|
It doesn't have any, and worse, there's no currently active OpCode
symbol map that could be used to create strings from tokens.
Regression from
commit bf1ffc64128f5b96d7c2fcc7adc81cbc25e232fd
Date: Sun Jul 16 15:18:09 2017 +0200
FormulaDlg_Impl::UpdateValues: evaluate in force-array context if present
Change-Id: I77c2035fdd0926f67fcc85e7090f30485b4e312c
|
|
Change-Id: I56e1bace8ab8312524e681d3865a1a89d523812d
Reviewed-on: https://gerrit.libreoffice.org/51459
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
In particular if in any ForceArray context use the matrix result
instead of the array of references list.
Change-Id: I72328a690760637f6d31fadba447641c64711a67
|
|
which is already the min for the runtime
Change-Id: Ifebe099f1f94a36f65a31989689400327a823dcd
Reviewed-on: https://gerrit.libreoffice.org/50776
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I075e29173945200854f2ef8e420867871659766a
Reviewed-on: https://gerrit.libreoffice.org/50446
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
part of removing ColorData
Change-Id: If31b5b88545529863377e9a178f45f4516bf6cbb
Reviewed-on: https://gerrit.libreoffice.org/50345
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and ok responses to gtk's -5
and cancel responses to gtk's -6
and close responses to gtk's -7
and yes responses to gtk's -8
and no responses to gtk's -9
Change-Id: Ia1a261a3a711ed9f5d8c0b0c639897c3064bb08c
Reviewed-on: https://gerrit.libreoffice.org/50206
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I2376336617d5ef324e03fa8a93137d3273dabc60
Reviewed-on: https://gerrit.libreoffice.org/50195
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
... instead of a low precedence unary operator with an odd
behaviour. This wasn't documented nor specified but maybe needed
for old(est) binary file format compatibility. Generate an error
for anything else than a context of a function with one argument.
There might be some corner cases of documents where some old usage
leads to error now, of which some may have worked by accident, but
some not as intended.
Related, the internal not exposed (but available) NEG was classified
similar as a unary operator but corectly handled as function at all
places. Classified as an ordinary 1-parameter function as well.
Change-Id: I3d84a6382243c8d64313e37346f81c857e71be95
Reviewed-on: https://gerrit.libreoffice.org/50055
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
|
|
because I
(a) forgot to insert parentheses which changes the meaning of some expressions and
(b) I now use the AdjustFoo calls when changing unary operations, which reads much better
This reverts commit bf8a6cacd06d7c1961b5db8cc79ee4bbdb342e43.
Change-Id: I4b5a9bf0c38ee1b57af91e6b7f184f1e8807f6f7
Reviewed-on: https://gerrit.libreoffice.org/49843
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I622da8a0c096c74efd97326451c4576b230f0483
Reviewed-on: https://gerrit.libreoffice.org/49701
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I76d50754a660e006e5913b89caa491cc21d6f9dc
Reviewed-on: https://gerrit.libreoffice.org/49588
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I295e842da0192c21d318357caa574062085acd9d
|
|
Change-Id: I078626eaa3155cc429320cc8c1532003b382b22a
Reviewed-on: https://gerrit.libreoffice.org/47855
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I0a6f4eaf49282a6aa74b24ea62736065d1786f58
|
|
with something like
git grep -nP '(.*)\s*<\s*(.*)\s*\?\s*\g1\s*:\s*\g2' -- *.?xx
Change-Id: Id5078b35961847feb78a66204fdb7598ee63fd23
Note: we also convert a>b?b:a
Reviewed-on: https://gerrit.libreoffice.org/47736
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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: I924954aefd471386805082f11a2d33db2746c49a
|
|
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>
|
|
Change-Id: Id69dcfde5c8b5d39c272916e7c1bcc649f720888
Reviewed-on: https://gerrit.libreoffice.org/46829
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Icab5ded8bccdb95f79b3fa35ea164f47919c68fa
Reviewed-on: https://gerrit.libreoffice.org/46339
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
The only effect SAL_CALL effectively has on LO-internal code is to change non-
static member functions from __thiscall to __cdecl in MSVC (where all other
functions are __cdecl by default, anyway). (For 3rd-party code, it could be
argued that SAL_CALL is useful on function declarations in the URE stable
interface other than non-static member functions, too, in case 3rd-party code
uses a compiler switch to change the default calling convention to something
other than __cdecl. But loplugin:salcall exempts the URE stable interface,
anyway.)
One could argue that SAL_CALL, even if today it effectively only affects non-
static member functions in MSVC, could be extended in the future to affect more
functions on more platforms. However, the current code would already not
support that. For example, 3af500580b1c82eabd60335c9ebc458a3f68850c
"loplugin:salcall fix functions" changed FrameControl_createInstance in
UnoControls/source/base/registercontrols.cxx to no longer be SAL_CALL, even
though its address (in ctl_component_getFacrory, in the same file) is passed to
cppuhelper::createSingleFactory as an argument of type
cppu::ComponentInstantiation, which is a pointer to SAL_CALL function.
Change-Id: I3acbf7314a3d7868ed70e35bb5c47bc11a0b7ff6
Reviewed-on: https://gerrit.libreoffice.org/46436
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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>
|
|
these don't need to be SAL_CALL, and the function pointer definition was
not annotated SAL_CALL either
Change-Id: I3082d3d34c53dc723ad8d2083010fd0de0e89a1e
Reviewed-on: https://gerrit.libreoffice.org/46067
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The mnRequestedLength fields in formula/ were introduced in
commit 6ef6dd0122b8e44d8547ec31f40def42173e4e41
Author: Kohei Yoshida <kohei.yoshida@collabora.com>
Date: Wed Feb 26 14:32:57 2014 -0500
Store the length of originally requested array size prior to
trimming.
but then partially removed in
commit d7f1f91b194da1cb96e66268ce7ef38602aa5754
Author: Noel Grandin <noel@peralex.com>
Date: Mon Mar 3 13:29:43 2014 +0200
remove unused code in formula/vectortoken
Change-Id: Ic56b6e42682131ee45df7838867145f980f3d601
Reviewed-on: https://gerrit.libreoffice.org/45571
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4532d0329dc7cd2609bc96abba140aba3f3d36f3
|