summaryrefslogtreecommitdiffstats
path: root/bridges
Commit message (Collapse)AuthorAgeFilesLines
* loplugin:useuniqueptr in bridgesNoel Grandin2018-04-162-9/+9
| | | | | | | 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>
* Adapt remaining cpp_uno bridges to #i114635#Stephan Bergmann2018-04-1018-88/+379
| | | | | | | | | | | | | | | | ..."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>
* iOS, simplified assemblerjan Iversen2018-03-202-34/+17
| | | | | | RC of cpp_vtable_call is never used in the asm part, so remove it. Change-Id: Iabda12541fbb574a21395a8430c52a3e9f892947
* iOS, balanced return stackjan Iversen2018-03-171-21/+19
| | | | | | stack balenced for entering and exiting _privateSnippetExecutor Change-Id: I381c487d3412a39b113e9725807fd018b2b4036a
* iOS update unwind abi to v. 26jan Iversen2018-03-171-7/+9
| | | | Change-Id: Id149b6a17dec8e6030d78e235c7451b2244152d1
* iOS, solved call stack problem.jan Iversen2018-03-162-6/+9
| | | | | | | Stack was not corrupted, but the call stack was not intact when passing the assembler code. Change-Id: If07909dce2b4a73634a130e5f50e84312115b845
* iOS, added description of __cxa_throwjan Iversen2018-03-161-0/+3
| | | | Change-Id: I6a537957528a0d2de989b347bde1167e21544236
* iOS, move assembler constants to C++jan Iversen2018-03-152-13/+5
| | | | Change-Id: Iad94a2e2e55bb158d2ac42e3a67a6d94f84ffedd
* iOS, simplified bridge assembler code.jan Iversen2018-03-152-160/+134
| | | | | | | Use x14 and x15 as function and offset instead of having x15 as a pointer to 2 words. Change-Id: I1cb3af4e86e3abe1b56fba2509eda31af0435885
* iOS, solved corrupted stack in cpp -> unojan Iversen2018-03-152-36/+38
| | | | | | | | Solved problem in assembler code, so the call chain is correct. There are still something missing for uno to work correctly Change-Id: Ieb3b3d6b15153576159e07b52ced0efedd135713
* iOS, calling cpp_vtable_call does not corrupt stackjan Iversen2018-03-111-2/+2
| | | | | | | | | 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
* iOS, moved privateSnippetExecutor from asm to C function.jan Iversen2018-03-112-44/+36
| | | | | | | | | | | 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
* iOS, removed unneeded #ifdef arm64jan Iversen2018-03-111-3/+0
| | | | Change-Id: Ie568c461ae834b33b9220c4b9fb42ec66b5e7ce0
* iOS, revert bed135e02bf7db2ef8c29747bbf79f26da71e9cajan Iversen2018-03-112-3/+1
| | | | | | | 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
* iOS, removed perl script in bridgesjan Iversen2018-03-113-74/+204
| | | | | | | The perl script just generated static asm code, this code is now included directly in ios64_helper.s Change-Id: I3ebc6f85865287e1a1d11f82be72fc2407bcb40f
* iOS, typo in function decl.jan Iversen2018-03-111-0/+2
| | | | Change-Id: I269f5323ed0f984cfe9d28636a9cae84a863e7a6
* iOS, activate USE_DOUBLE_MMAPjan Iversen2018-03-111-1/+1
| | | | | | If not activated code assumes dymanic behaivour. Change-Id: I6b2807f4a2402a7adfa0839454586b425ee1ae29
* bridges,iOS removed suport for x86 and arm.jan Iversen2018-03-112-473/+0
| | | | | | Only arm64 is supported, code is more readable Change-Id: I6940b0d03dc26c9c8f10c1cb105a7564471f2ca5
* Make LibreOffice buildable on Haiku.Kacper Kasper2018-03-052-2/+3
| | | | | | | | | * 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>
* iOS, solved problem with -I for asm modulejan Iversen2018-02-211-2/+3
| | | | Change-Id: I9e699eea04231eeeff4146657124ee4f0e68412d
* iOS, remove throw definitionjan Iversen2018-02-201-6/+0
| | | | | | clean cpp_uno part. Change-Id: Ief08e4cf596b375243ae215d8dc2e1cdb5830ac1
* Buildsystem changes to recognize Haiku.Kacper Kasper2018-02-191-3/+3
| | | | | | | Change-Id: I219d556f8e124cfe426cc1ac3c54da34eb7ef790 Reviewed-on: https://gerrit.libreoffice.org/49925 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
* iOS, add custom include for codesnippets.Sjan Iversen2018-02-171-0/+4
| | | | Change-Id: I285838f6f3e8ec57a63239f71a403809154c47e2
* iOS, readded perl script to generate codesnippetsjan Iversen2018-02-172-2805/+34
| | | | Change-Id: Ie9f3aa8057e9b50beedf47ff892188cf3b362194
* iOS, add old snippet script.jan Iversen2018-02-151-0/+114
| | | | | | | We need to check if the script generated the same code always. Looks like nFunIndexes is never changed. Change-Id: Ic247cccbf1e4a75e6a0acf5807fdcf84bfcf4cb3
* iOS, update to original filesjan Iversen2018-02-153-3/+16
| | | | | | Update to old files (from Tor in 2013) to prepare for generate. Change-Id: I832a242b7b91179e9c269fa9e48a1698aa2f2a66
* iOS, reduce arm64 files to actually neededjan Iversen2018-02-157-725/+1
| | | | | | | Still comparing the "old" gcc3_ios_arm with the new one, in order to make the asm code work. Change-Id: I3a2fdfc1891a6a4d7065917f5ef8bd19c49b3987
* iOS, add gcc3 helper for ARM64jan Iversen2018-02-143-964/+6
| | | | Change-Id: Iad8cfd72803864bd1c8a5d01c74e1f856c27685d
* iOS, simulator == MACOSXjan Iversen2018-02-141-37/+27
| | | | | | | the simulator is a normal MAC compile, with different SDK so the cpp_uno bindings should be identical Change-Id: Ie53463beab628414185b492c78dcb3d8364794bf
* iOS, use gcc3 mac code for simulatorjan Iversen2018-02-141-0/+5
| | | | | | | | | | 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
* bridges: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski2018-01-317-16/+0
| | | | | | | Change-Id: Ib13f198e5941a33a9a8d1091c8ceb48e273f00cc Reviewed-on: https://gerrit.libreoffice.org/48949 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
* Fix typosAndrea Gelmini2018-01-255-6/+6
| | | | | | | Change-Id: I13acf050d83099be8874514688936bb4ddbb1a26 Reviewed-on: https://gerrit.libreoffice.org/48543 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* More loplugin:cstylecast on WindowsStephan Bergmann2018-01-232-2/+2
| | | | | | | | | | | | 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>
* More loplugin:cstylecast on macOSStephan Bergmann2018-01-201-1/+1
| | | | | | | | | | | | 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>
* SAL_W32 is just an alias for _WIN32Stephan Bergmann2018-01-191-4/+4
| | | | | | | | | ...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>
* enable c++17 for android again after boost auto_ptr has a workaroundChristian Lohmaier2018-01-182-2/+2
| | | | | | | | | | 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>
* android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier2018-01-185-16/+55
| | | | | | | | | | | | | 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>
* Fix typosAndrea Gelmini2018-01-162-2/+2
| | | | | | | Change-Id: I078626eaa3155cc429320cc8c1532003b382b22a Reviewed-on: https://gerrit.libreoffice.org/47855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* More loplugin:cstylecast: bridgesStephan Bergmann2018-01-122-2/+2
| | | | | | | | 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
* new loplugin: convertlongNoel Grandin2017-12-211-1/+1
| | | | | | | | | | | 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>
* loplugin:salcall fix functionsNoel Grandin2017-12-118-47/+47
| | | | | | | | | | 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>
* bridges: [loplugin:includeform] gcc3_linux_intelMichael Stahl2017-12-086-23/+23
| | | | Change-Id: I0a60521e893990af63d723871edcbc564b135074
* std::unexpected_handler is gone at least from recent libc++ in C++17 modeStephan Bergmann2017-12-051-1/+1
| | | | | | | Change-Id: Ibae0499f52c1e22ec9790e62cc84053dff2c2add Reviewed-on: https://gerrit.libreoffice.org/45855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* new loplugin salcall: remove unnecessary SAL_CALLNoel Grandin2017-12-043-22/+10
| | | | | | | | | | | | | | | | | | 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>
* fix includes in aarch64 bridgeDavid Tardon2017-11-264-5/+5
| | | | Change-Id: Ia27f15483c27bc43a3cd3a74432f15fa928ad6da
* Fix ASan "alloc-dealloc-mismatch (operator new [] vs operator delete)"Stephan Bergmann2017-11-141-24/+64
| | | | | | | ...e.g. during CppunitTest_smoketest, after be2d9d3407ddae22797879e93778513be30ec5aa "Clean up m_generatedRttis at exit" Change-Id: Ife4b07927ba11cf5b99e987b3bb9af068652ba62
* ofz: Direct-leakCaolán McNamara2017-11-131-5/+11
| | | | | | | | | | 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>
* Clean up m_generatedRttis at exitStephan Bergmann2017-11-091-16/+24
| | | | | | | | | | | ...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>
* iOS include error in bridgesjan Iversen2017-11-031-1/+1
| | | | | | Need to use "" for call.hxx include Change-Id: I9a30f3d3cfab83076f9ad22a5b637f8f4fc7c432
* loplugin:includeform: bridges (Windows)Stephan Bergmann2017-10-274-14/+14
| | | | Change-Id: I4514d751d5449902c589c7f3577c7f3cd593d2e9