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. Cleaned up some, but something like
grep -FwL sal/log.hxx $(git grep -Elw \
'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF') -- \*.cxx)
shows lots more files that potentially need fixing before the include can be
removed from rtl/string.hxx and rtl/ustring.hxx.
Change-Id: Ibf033363e83d37851776f392dc0b077381cd8b90
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
Sadly cannot forward declare "struct {...} TimeValue;".
rtl/(u)?string.hxx still include sal/log.hxx but removing osl/diagnose.h
was painful enough for now...
Change-Id: Id41e17f3870c4f24c53ce7b11f2c40a3d14d1f05
and probably gadzillions of other uncaught exception warnings
this exception can't actually be thrown because all possible InsertOperation
conditions are already handled.
Change-Id: I176c5e253e8b1092a060fc066c2e03dae3cea343
...since f059134fab "INTEGRATION: CWS
cppuhelpshrink: #i72766# save memory in cppuhelper, using a vector instead of a
hash_map" (but a dummy "void" default is left in place for backwards
compatibility).
Change-Id: I3bb0af8158f34737d41c344464f3cf944e2891ed
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.
Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
Apparently there was no problem in this after all. The reason it
seemed not to work earlier was because of the unwinding failure due to
the missing .cfi_startproc and .cfi_endproc thingies in helper.s
The hack in ucbhelper is now not needed after all.
Change-Id: If9fec5c502d4c9d0c44709ad9c2729f812e882e2
I haven't managed to get the C++/UNO bridge to work for 64-bit iOS
code yet. I think I understand the calling convention and the
parameter marshalling etc might even be correct now. But something
goes wrong in the dynamic creation of type_infos and throwing of
exceptions. 64-bit iOS code uses a different unwinding mechanism than
32-bit iOS code, I think, which could be related.
Quite possibly there is also an unintended compiler feature (or dare I
say bug?) in Apple's Clang for arm64 that affects this: The typeinfos
are generated as private_extern symbols in arm64 code (instead of as
normal extern in armv7 code), thus the dlsym() thing to look up
typeinfos doesn't work.
Note that as we don't support any Basic, Java or Python on iOS anyway,
the C++/UNO bridge is not used for much. Actually, the only use of the
bridge at least in the TiledLibreOffice test app seems to be to throw
exceptions. Fun, huh? As the actual types of exceptions thrown seems
to be a quite small set, just hack it and throw the appropriate
exception directly... The only places where exceptions are thrown
through the bridge that is used in the test app seems to be the two
cancelCommandExecution() functions in ucbhelper.
(It would be nice to change the ucbhelper API to not use exceptions
for non-exceptional conditions, but that's another thing...)
Change-Id: Ifd1861ccbba23d3b138e82400f2b7d80baf0215a