summaryrefslogtreecommitdiff
path: root/bridges
AgeCommit message (Collapse)Author
2018-08-29replace rtl_allocateMemory with std::mallocNoel Grandin
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>
2018-08-16-Werror,-Wmultichar (clang-cl)Stephan Bergmann
(<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>
2018-08-16loplugin:reservedid (clang-cl)Stephan Bergmann
Change-Id: I324b93db2040efeff9d56f529df998cb8d64ec03 Reviewed-on: https://gerrit.libreoffice.org/59155 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-09Don't use internal __CxxDetectRethrow: it has side effectsMike Kaganski
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>
2018-08-04fix arm buildCaolán McNamara
Change-Id: I9662478b41486f1fb12ffd83b5046afd48289ed7
2018-08-04fillUnoException not working on std::rethrow_exception exceptionsCaolán McNamara
used since... commit dacc1b40df67d154c96b256b0d920460f38c3d11 Date: Sat Jul 28 16:33:22 2018 +0100 ofz#9597 rethrown IOException not caught by catch IOException the adjustedPtr seems to be as expected, but the type_info not. Presumably these are thrown as 'dependent exceptions' (?) https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/eh_type.cc#L42 Change-Id: Ibd736abe941bb1d5facdb88139b3a0e6cf32cf1f Reviewed-on: https://gerrit.libreoffice.org/58477 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-03loplugin:useuniqueptr in bridgesNoel Grandin
Change-Id: I7248f8b5031e9659b2a58644952e59cc99d6a2d6 Reviewed-on: https://gerrit.libreoffice.org/58483 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-27Related: rhbz#1602589 add comments to coverity annotationsCaolán McNamara
Change-Id: I88c941832a0d682ea4b6028c28edd48cf5df38f7 Reviewed-on: https://gerrit.libreoffice.org/58093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-23Fix typosAndrea Gelmini
Change-Id: I1cc2b1f63326d1d0e1f6e452b93af11e59a2d674 Reviewed-on: https://gerrit.libreoffice.org/57799 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2018-07-09Add missing sal/log.hxx headersGabor Kelemen
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 a* to configmgr Change-Id: I6ea1a7f992b1f835f5bac7a725e1135abee3f85a Reviewed-on: https://gerrit.libreoffice.org/57170 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-15loplugin:stringconcat, loplugin:sallogareas (clang-cl)Stephan Bergmann
("bridges.win64" isn't more useful than plain "bridges" here, as each platform uses only one bridges/source/cpp_uno/ sub-dir, anyway) Change-Id: Ic8c2af892cdfad98e10d43532b3bf3c892555446 Reviewed-on: https://gerrit.libreoffice.org/54351 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-05-07bridges (win32/64): Log method callsSamuel Mehrbrodt
Change-Id: I5177dd4fbc8f1b638ceff14c5d88d19fff8076a3 Reviewed-on: https://gerrit.libreoffice.org/53779 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-04-16loplugin:useuniqueptr in bridgesNoel Grandin
Change-Id: I7bf75ffafa63ec88e89192ed32880675c9ae1d61 Reviewed-on: https://gerrit.libreoffice.org/52883 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-10Adapt remaining cpp_uno bridges to #i114635#Stephan Bergmann
..."C++ UNO bridge should convert non-UNO exceptions into RuntimeException" (<https://bz.apache.org/ooo/show_bug.cgi?id=114635>), see <https://lists.freedesktop.org/archives/libreoffice/2018-April/079985.html> "Re: CppunitTest_sw_filters_test failing on x86 Linux, std::exception -> uno::RuntimeException". (The msvc_win32_{intel,x86-64} versions already handle non-UNO exceptions in their msc{i,x}_filterCppException functions, in a different way.) Change-Id: Ie359affed6831d16be0de3e3ff065484e28bd9c3 Reviewed-on: https://gerrit.libreoffice.org/52665 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-20iOS, simplified assemblerjan Iversen
RC of cpp_vtable_call is never used in the asm part, so remove it. Change-Id: Iabda12541fbb574a21395a8430c52a3e9f892947
2018-03-17iOS, balanced return stackjan Iversen
stack balenced for entering and exiting _privateSnippetExecutor Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
2018-03-17iOS update unwind abi to v. 26jan Iversen
Change-Id: Id149b6a17dec8e6030d78e235c7451b2244152d1
2018-03-16iOS, solved call stack problem.jan Iversen
Stack was not corrupted, but the call stack was not intact when passing the assembler code. Change-Id: If07909dce2b4a73634a130e5f50e84312115b845
2018-03-16iOS, added description of __cxa_throwjan Iversen
Change-Id: I6a537957528a0d2de989b347bde1167e21544236
2018-03-15iOS, move assembler constants to C++jan Iversen
Change-Id: Iad94a2e2e55bb158d2ac42e3a67a6d94f84ffedd
2018-03-15iOS, simplified bridge assembler code.jan Iversen
Use x14 and x15 as function and offset instead of having x15 as a pointer to 2 words. Change-Id: I1cb3af4e86e3abe1b56fba2509eda31af0435885
2018-03-15iOS, solved corrupted stack in cpp -> unojan Iversen
Solved problem in assembler code, so the call chain is correct. There are still something missing for uno to work correctly Change-Id: Ieb3b3d6b15153576159e07b52ced0efedd135713
2018-03-11iOS, calling cpp_vtable_call does not corrupt stackjan Iversen
Changing bl -> b (jump long to jump) allowed cpp_vtable_call to work without corrumping the stack. However return still corrumpts the stack. Change-Id: I3437a73139b65af13dcf6fa0c959bb1c847564b9
2018-03-11iOS, moved privateSnippetExecutor from asm to C function.jan Iversen
move asm code to C as first step towards reducing the asm code. Since iOS does not permit java/python or anything else than the compiled C++ code, the throw should be done simpler. Apart from that this is the first step in solving a stack corruption problem in the throw code Change-Id: I4f3d3a3ba3f55fb46131d9a8eeb0deebf179d95f
2018-03-11iOS, removed unneeded #ifdef arm64jan Iversen
Change-Id: Ie568c461ae834b33b9220c4b9fb42ec66b5e7ce0
2018-03-11iOS, revert bed135e02bf7db2ef8c29747bbf79f26da71e9cajan Iversen
using USE_DOUBLE_MMAP worked well on the device, but caused problems with the simulator, that depends on the GCC3_MAC* implementation. Change-Id: Ifbc1d48b3642567029c5271054a545eaacaf18ed
2018-03-11iOS, removed perl script in bridgesjan Iversen
The perl script just generated static asm code, this code is now included directly in ios64_helper.s Change-Id: I3ebc6f85865287e1a1d11f82be72fc2407bcb40f
2018-03-11iOS, typo in function decl.jan Iversen
Change-Id: I269f5323ed0f984cfe9d28636a9cae84a863e7a6
2018-03-11iOS, activate USE_DOUBLE_MMAPjan Iversen
If not activated code assumes dymanic behaivour. Change-Id: I6b2807f4a2402a7adfa0839454586b425ee1ae29
2018-03-11bridges,iOS removed suport for x86 and arm.jan Iversen
Only arm64 is supported, code is more readable Change-Id: I6940b0d03dc26c9c8f10c1cb105a7564471f2ca5
2018-03-05Make LibreOffice buildable on Haiku.Kacper Kasper
* Obviously VCL wiring is missing, but most components do build. Change-Id: Ie853ada1423a8f4c2b647be59cd47a7730c42978 Reviewed-on: https://gerrit.libreoffice.org/50293 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-02-21iOS, solved problem with -I for asm modulejan Iversen
Change-Id: I9e699eea04231eeeff4146657124ee4f0e68412d
2018-02-20iOS, remove throw definitionjan Iversen
clean cpp_uno part. Change-Id: Ief08e4cf596b375243ae215d8dc2e1cdb5830ac1
2018-02-19Buildsystem changes to recognize Haiku.Kacper Kasper
Change-Id: I219d556f8e124cfe426cc1ac3c54da34eb7ef790 Reviewed-on: https://gerrit.libreoffice.org/49925 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-02-17iOS, add custom include for codesnippets.Sjan Iversen
Change-Id: I285838f6f3e8ec57a63239f71a403809154c47e2
2018-02-17iOS, readded perl script to generate codesnippetsjan Iversen
Change-Id: Ie9f3aa8057e9b50beedf47ff892188cf3b362194
2018-02-15iOS, add old snippet script.jan Iversen
We need to check if the script generated the same code always. Looks like nFunIndexes is never changed. Change-Id: Ic247cccbf1e4a75e6a0acf5807fdcf84bfcf4cb3
2018-02-15iOS, update to original filesjan Iversen
Update to old files (from Tor in 2013) to prepare for generate. Change-Id: I832a242b7b91179e9c269fa9e48a1698aa2f2a66
2018-02-15iOS, reduce arm64 files to actually neededjan Iversen
Still comparing the "old" gcc3_ios_arm with the new one, in order to make the asm code work. Change-Id: I3a2fdfc1891a6a4d7065917f5ef8bd19c49b3987
2018-02-14iOS, add gcc3 helper for ARM64jan Iversen
Change-Id: Iad8cfd72803864bd1c8a5d01c74e1f856c27685d
2018-02-14iOS, simulator == MACOSXjan Iversen
the simulator is a normal MAC compile, with different SDK so the cpp_uno bindings should be identical Change-Id: Ie53463beab628414185b492c78dcb3d8364794bf
2018-02-14iOS, use gcc3 mac code for simulatorjan Iversen
Refer to the mac code, instead of copying it to gcc3_ios, when running in simulator. There is a problem with the macro calls, so the reference to the sources are duplicated. Change-Id: I72848ba960b8a7f85708723bfeb682ceecc1e448
2018-01-31bridges: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski
Change-Id: Ib13f198e5941a33a9a8d1091c8ceb48e273f00cc Reviewed-on: https://gerrit.libreoffice.org/48949 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-01-25Fix typosAndrea Gelmini
Change-Id: I13acf050d83099be8874514688936bb4ddbb1a26 Reviewed-on: https://gerrit.libreoffice.org/48543 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-23More loplugin:cstylecast on WindowsStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Ib3355159dd08333e1b7a8d091caf2069cdcc7862 Reviewed-on: https://gerrit.libreoffice.org/48317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-20More loplugin:cstylecast on macOSStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Iff4877e8a42804c952c48c13332caf0a83c92870 Reviewed-on: https://gerrit.libreoffice.org/48216 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-19SAL_W32 is just an alias for _WIN32Stephan Bergmann
...so consistently use the latter instead of the former Change-Id: I144d5e7c472632f93b2258461510346bc85892d9 Reviewed-on: https://gerrit.libreoffice.org/48135 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-18enable c++17 for android again after boost auto_ptr has a workaroundChristian Lohmaier
see 90d2155912bcee40377620d4836726041a72d537 for boost fix and see effe6b3d84302afce3d5095e4f376e7e3bf669e0 for bridges fix for mac Change-Id: Ic6209ce0927dafd39763ef0b2fabbcaa7abf743f Reviewed-on: https://gerrit.libreoffice.org/46002 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-18android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier
gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79 Reviewed-on: https://gerrit.libreoffice.org/45163 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2018-01-16Fix typosAndrea Gelmini
Change-Id: I078626eaa3155cc429320cc8c1532003b382b22a Reviewed-on: https://gerrit.libreoffice.org/47855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>