summaryrefslogtreecommitdiff
path: root/bridges
AgeCommit message (Collapse)Author
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>
2018-01-12More loplugin:cstylecast: bridgesStephan Bergmann
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: I4d48f46fa64fe866081cd85c731a93b4bfcdf787
2017-12-21new loplugin: convertlongNoel Grandin
merge the droplong and convertuintptr into one new plugin. Limit the analysis to looking at var decl's, since that seems to be safest proposition, even if that too needs some careful analysis. Change-Id: Id005baaf05cfb157ce44a06a1c81f08559a07d1f Reviewed-on: https://gerrit.libreoffice.org/46851 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-11loplugin:salcall fix functionsNoel Grandin
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>
2017-12-08bridges: [loplugin:includeform] gcc3_linux_intelMichael Stahl
Change-Id: I0a60521e893990af63d723871edcbc564b135074
2017-12-05std::unexpected_handler is gone at least from recent libc++ in C++17 modeStephan Bergmann
Change-Id: Ibae0499f52c1e22ec9790e62cc84053dff2c2add Reviewed-on: https://gerrit.libreoffice.org/45855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-04new loplugin salcall: remove unnecessary SAL_CALLNoel Grandin
In this first commit, I use the plugin to verify the consistency of our SAL_CALL annotations. The point being to make the next commit more mechanical in nature, purely using the rewriter. There are various chunks of unix-only code that have never had to be compiled by MSVC, hence the inconsistencies. In bridges, I had to inline some typedefs to make the verification code happy, since it cannot see into typedefs. Change-Id: Iec6e274bed857febf7295cfcf5e9f21fe4a34da0 Reviewed-on: https://gerrit.libreoffice.org/45502 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-26fix includes in aarch64 bridgeDavid Tardon
Change-Id: Ia27f15483c27bc43a3cd3a74432f15fa928ad6da
2017-11-14Fix ASan "alloc-dealloc-mismatch (operator new [] vs operator delete)"Stephan Bergmann
...e.g. during CppunitTest_smoketest, after be2d9d3407ddae22797879e93778513be30ec5aa "Clean up m_generatedRttis at exit" Change-Id: Ife4b07927ba11cf5b99e987b3bb9af068652ba62
2017-11-13ofz: Direct-leakCaolán McNamara
asan reports that the strdups leak and __si_class_type_info takes a const char* arg Change-Id: Ie0ee94554689d9246981cb7d6ce0f23917c2d333 Reviewed-on: https://gerrit.libreoffice.org/44641 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-09Clean up m_generatedRttis at exitStephan Bergmann
...inspired by <https://gerrit.libreoffice.org/#/c/44487/> "silence RTTI::getRTTI Direct-leak". (std::type_info is guaranteed to have a virtual dtor.) Change-Id: I972bfd57a2e800ef0e9bfc978fdc6345dbff853e Reviewed-on: https://gerrit.libreoffice.org/44532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>