Age | Commit message (Collapse) | Author |
|
Change-Id: I517a036ccf41c377fee78f841f474b72998bd9ac
Reviewed-on: https://gerrit.libreoffice.org/73028
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I538db88f8477dd2d2ad25c372928fec6c11d979d
Reviewed-on: https://gerrit.libreoffice.org/72105
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
...after eeeec33ada5923f1f534334b22c15d6e2c6f1d35 "merge
--enable-selective-debuginfo into --enable-symbols" had removed it
Change-Id: I83aed6e21c4b983d8645707daa65bd85ec16ff6b
Reviewed-on: https://gerrit.libreoffice.org/71798
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
if we're doing a find/insert on a set or a map, it is better to just do
a conditional insert/emplace operation than triggering two lookups.
Change-Id: I80da5097f5a89fe30fa348ce5b6e747c34287a8d
Reviewed-on: https://gerrit.libreoffice.org/70937
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7d85cbc9105c5e0c4a8d9a69c4ac9d6dfc07eabd
Reviewed-on: https://gerrit.libreoffice.org/70663
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit 8cfa7f4dc00f3dd37e57917ef25c806b0e9e6e73.
comment from sberg:
we already have 70519a43e0d89a6b5d89859a6851f8c757c6b0c7 "Replace OUStringBuffer::appendCopy with append(std::u16string_view)" (which can be extended to OStringBuffer if needed)
Change-Id: Ifcc550a8cf26ef38ad49fde8b067f53c999c9276
Reviewed-on: https://gerrit.libreoffice.org/70178
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which performs the append without needing the creation of a temporary
*String
Change-Id: If9ad3222275f26659db2e7df8d34f068977c4d17
Reviewed-on: https://gerrit.libreoffice.org/69826
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I07604028845c49cc084927e21db7f21c5d053bab
Reviewed-on: https://gerrit.libreoffice.org/69796
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Use range-based loop or replace with STL functions
Change-Id: I8594740103bdc2091c2d03d4b92bbe8393f5378c
Reviewed-on: https://gerrit.libreoffice.org/69223
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ief3f2554bf2271dbfa60ff9fbc04e3c5d3540f68
Reviewed-on: https://gerrit.libreoffice.org/68146
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
* Some .m/.mm files that still contained tabs instead of spaces have been
cleaned up with Emacs' untabify (and
apple_remote/source/HIDRemoteControlDevice.m needed further manual adaptions):
apple_remote/source/GlobalKeyboardDevice.m
apple_remote/source/HIDRemoteControlDevice.m
apple_remote/source/KeyspanFrontRowControl.m
apple_remote/source/RemoteControl.m
vcl/osx/a11yrolehelper.mm
* Some of the changes predate 0626e66d761de18f62e4d00d427903032da9d517 "Avoid
loplugin:indentation after preproc conditional inclusion lines" and would
likely have no longer been flagged since.
Change-Id: Ibf5faffa743c7f79b36109d9879eb79d63c8c40f
Reviewed-on: https://gerrit.libreoffice.org/68090
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4c9fc9595a498609309ce7734c312fea09680c2f
Reviewed-on: https://gerrit.libreoffice.org/67586
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Sorry, but this change breaks the build:
bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx(884): error C2110: '+': cannot add two pointers
This reverts commit 867384792244667a33cad79a7348b34b6008822b.
|
|
Change-Id: I9221608db417217dd7c97c0300ecedb67fa74132
Reviewed-on: https://gerrit.libreoffice.org/67603
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...or else mapException would extract garbage from the fake
exception->exceptionType std::type_info* when catching via
cppu::getCaughtException the rethrown exception thrown via
std::rethrow_exception in Test::testgetCaughtException in
cppuhelper/qa/misc/test_misc.cxx.
6ddecf61ecada646fbd6f8809270d47289727e8a "fillUnoException not working on
std::rethrow_exception exceptions" had adapted the other relevant
bridges/source/cpp_uno/gcc3_*/ cases but missed the gcc3_linux_aarch64 one.
Change-Id: I5a2afb11ad4abf851169bd3fd8ae647cc81c2fcd
Reviewed-on: https://gerrit.libreoffice.org/67542
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ie4e27466c4258c6f774a3ebb82ec3a88c28fd753
Reviewed-on: https://gerrit.libreoffice.org/67525
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib6320ddc049e93cca4c5931ad28d1873d34bd8b4
Reviewed-on: https://gerrit.libreoffice.org/67137
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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>
|
|
Change-Id: I95c7fd5a7241c120395c897af4fc2742528e2166
Reviewed-on: https://gerrit.libreoffice.org/65391
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ic3e50e1a64b334bee86db7456a4821fa9427370b
|
|
First, make sure existing compiler-generated RTTI from liblo-native-code.so is
found (so that catching bridge-synthesized exceptions in native code works with
libc++abi, which checks type equivalence by address instead of string
comparsion), by using the dlsym(RTLD_DEFAULT,...) mechanism as in the ANDROID
gcc3_linux_arm bridge case. And second, if that should fail, synthesize the
type_info even if the included cxxabi.h doesn't provide the relevant type
declarations, by using copies from the ABI specification, as also done on other
platforms.
Instead of always having getRTTI fail and raiseException throw a non-synthesized
css::uno::RuntimeException("no rtti for type ..."). Which explains the mystery
discussed in the commit message of 312eeeee42cb4a1e356943e17305555e41afc4ef
"Switch Android armeabi-v7a to libc++/libc++abi/libunwind too", why the observed
misbehavior on x86 was so different from that on armeabi-v7a.
Change-Id: I9308654c5c2b88b4d27e0e8e9edda1849133a161
Reviewed-on: https://gerrit.libreoffice.org/65070
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...which adds a member, and will be relevant when switching armeabi-v7a to
libc++/libc++abi/libunwind (coming soon).
Change-Id: I1f98f50ca299a583e73e0dbd6c8c94d973329f3a
Reviewed-on: https://gerrit.libreoffice.org/64966
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This will become important when switching armeabi-v7a to
libc++/libc++abi/libunwind (coming soon) which uses address instead of string
comparison when checking for type equality, so that exceptions thrown from the
binary UNO bridge will need to use the exact same RTTI objects as referenced
from the compiled catch clauses.
Change-Id: If8bcb39212b5f5e154aee215cb5f471fe2dc4a7b
Reviewed-on: https://gerrit.libreoffice.org/64965
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ie92c9654c7ccc5cd4acde728b35311f251f740ac
Reviewed-on: https://gerrit.libreoffice.org/64963
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ia6b57f0cf508686c437027e5753258169c18b0f7
|
|
...after 7ffdd830d5fb52f2ca25aa80277d22ea6d89970b
"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>
|
|
Change-Id: Ic717f68f0d107138dd18116b70f3a49588c5778f
|
|
Change-Id: I9fb8366634b31230b732dd38a98f800075529714
Reviewed-on: https://gerrit.libreoffice.org/64510
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2c2b1159ee697acc1d22740f7a2167b30a7fec41
Reviewed-on: https://gerrit.libreoffice.org/64446
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I0340ce6b89dd7edb91a4a4e0c1e21aeb307f3d9f
Reviewed-on: https://gerrit.libreoffice.org/64445
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
They used std::unexpected_handler so did not compile as C++17 anyway.
Change-Id: I5f8bacb85cbd213dd6304d865a7b4cb7eb8f4b8f
|
|
Change-Id: I9163e1722f163a04968df292ee8b29d472f9ac4f
|
|
Change-Id: Id44f1e98a3aac2c417f8030de603175bf68f0dfe
Reviewed-on: https://gerrit.libreoffice.org/63467
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ibb94b2b16afbcca84dd55ae51fde6fd27afede3a
Reviewed-on: https://gerrit.libreoffice.org/63297
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I1bf67196e97411aeecc13ed4f91d1088a315e323
Reviewed-on: https://gerrit.libreoffice.org/62839
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Id1a0749b78a7021be3564487fb974d7084705129
Reviewed-on: https://gerrit.libreoffice.org/62718
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This gets rid of the horrible hack in gbuild.mk to accomodate the
case-incorrect iOS platform makefiles that cannot be renamed without
upsetting git on file systems that sadly lack the case sensitivity
feature.
Keep the macro defined to IOS though.
Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234
Reviewed-on: https://gerrit.libreoffice.org/62705
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
...where "inline" (in its meaning of "this function can be defined in multiple
translation units") thus doesn't make much sense. (As discussed in
compilerplugins/clang/redundantinline.cxx, exempt such "static inline" functions
in include files for now.)
All the rewriting has been done automatically by the plugin, except for one
instance in sw/source/ui/frmdlg/column.cxx that used to involve an #if), plus
some subsequent solenv/clang-format/reformat-formatted-files.
Change-Id: Ib8b996b651aeafc03bbdc8890faa05ed50517224
Reviewed-on: https://gerrit.libreoffice.org/61573
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Including:
* expanding STDAPI to its definition (as per
<https://msdn.microsoft.com/library/ms686631(vs.85).aspx> "STDAPI"), to add
__declspec(dllexport) into its middle, in
extensions/source/activex/so_activex.cxx; as discussed in the comments at
<https://gerrit.libreoffice.org/#/c/60691/> "Get rid of Windows .def files in
setup_native, use __declspec(dllexport)", having a function both listed in a
.def file EXPORTS and marking it dllexport is OK, and the latter helps the
heuristics of loplugin:external; however, the relevant functions in
extensions/source/activex/so_activex.cxx probably don't even need to be
exported in the first place?
* follow-up loplugin:salcall in sal/osl/w32/file-impl.hxx
Change-Id: Ida6e17eba19cfa3d7e5c72dda57409005c0a0191
Reviewed-on: https://gerrit.libreoffice.org/60938
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...avoiding conditional blocks and variables (that need careful #if'ing to avoid
them being either undefined or unused depending on NDEBUG and OSL_DEBUG_LEVEL
combintaion)
Change-Id: Ica9fe3857694f5c0a6e9079dfff05f2e0554b781
Reviewed-on: https://gerrit.libreoffice.org/60926
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ib06572a844d2999e9ecd91e26abd98ecec06a0ae
Reviewed-on: https://gerrit.libreoffice.org/60665
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...found by <https://ci.libreoffice.org//job/lo_tb_random_config_linux/1480/>
Change-Id: Ia71abc74122b9935344bfe693ba1556f6980c6de
Reviewed-on: https://gerrit.libreoffice.org/60668
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I6fd0495277301dfa15bb456f30b8386aea86fe60
Reviewed-on: https://gerrit.libreoffice.org/60622
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...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>
|
|
It seems that on iOS, where we don't have any Java, Python, BASIC, or
other scripting, the only thing that would use the C++/UNO bridge
functionality that invokes codeSnippet() was cppu::throwException().
codeSnippet() is part of what corresponds to the code that uses
run-time-generated machine code on other platforms. We can't generate
code at run-time on iOS, that has been known forever. Instead we have
used some manually written assembler to handle it instead. We used to
have a Perl script to generate a set of code snippets for different
cases, different numbers of parameters of the called function and
whatnot, but that went away at some stage some year ago. (It is
unclear whether that broke the C++/UNO bridge on iOS, or whether the
stuff continued to work even after that.)
Anyway, this handwritten assembly, or the manual construction of
internal data structures for exceptions, or something else, seemed to
have bit-rotten. Exceptions thrown with cppu::throwException() were
not catchable properly any longer.
Instead of digging in and trying to understand what is wrong, I chose
another solution. It turns out that the number of types of exception
objects thrown by cppu::throwException() is fairly small. During
startup of the LibreOffice code, and loading of an .odt document, only
one kind of exception is thrown this way... (The lovely
css::ucb:InteractiveAugmentedIOException.)
So we can simply have code that checks what the type of object being
thrown is, and explicitgly throws such an object then with a normal
C++ throw statement. Seems to work.
Sadly the cppu::getCaughtException() API still needs some inline
assembly in the C++/UNO brige. That seems to work though, knock on
wood.
This commit also adds a small "unit test" for iOS, copied from
cppuhelperm to ImplSVMain(). Ideally we should not copy code around of
course, but have a separate unit test app for iOS that would somehow
include relevant unit tests from source files all over the place.
Later.
Change-Id: Ib6d9d5b6fb8cc684ec15c97a312ca2f720e87069
Reviewed-on: https://gerrit.libreoffice.org/60506
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: I08f6a64b50f03d1b08027a2ac9e51442255d64bc
Reviewed-on: https://gerrit.libreoffice.org/59976
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
where used directly, since rtl_allocateMemory now just calls into std::malloc
Change-Id: I59f85bdb7efdf6baa30e8fcd2370c0f8e9c999ad
Reviewed-on: https://gerrit.libreoffice.org/59685
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
(<https://docs.microsoft.com/en-us/cpp/cpp/string-and-character-literals-cpp>
specifies that, for MSVC, "Multiple characters in the literal fill corresponding
bytes as needed from high-order to low-order.")
Change-Id: I192be65adf3bfff1a4d0f0f4862939be2736ffad
Reviewed-on: https://gerrit.libreoffice.org/59154
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I324b93db2040efeff9d56f529df998cb8d64ec03
Reviewed-on: https://gerrit.libreoffice.org/59155
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Since the __CxxDetectRethrow may increment __ProcessingThrow, which then
must be decremented in __CxxUnregisterExceptionObject, and the latter does
many other funny things with exception handling CRT machinery, we cannot
use those internal functions (neither alone, nor together), or we end up
breaking runtime's expectations: the runtime code checks __ProcessingThrow
left and right, expecting its non-0 value to indicate "we are unwinding...
possibly called from a dtor()". In this case, e.g., std::current_exception
returns nullptr inside catch block.
This creates our own copy of __CxxDetectRethrow, which does not mangle the
global state, and just performs the same checks. This is a dirty hack, and
it relies on current layout of the exception description layout - so must
be synchronized in the event of changes!
Change-Id: I2c475fbc2468073b796c7e9d0f4dfcd315896489
Reviewed-on: https://gerrit.libreoffice.org/58730
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|