summaryrefslogtreecommitdiff
path: root/bridges/inc
AgeCommit message (Collapse)Author
2023-02-01osl::Mutex->std::mutex in ExceptionInfosNoel Grandin
Change-Id: Ic947b58b9aba121c605b6795c7cd9aa0b16b180e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146455 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-21clang-tidy modernize-pass-by-value in bridgesNoel Grandin
Change-Id: I6c52316e46117aacb22a2adcb75841aed834041f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134705 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-18osl::Mutex->std::mutex in VtableFactoryNoel Grandin
Change-Id: Ie973ef2923c1c725ee740000ebd1eacf671a5bfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119139 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-19loplugin:noexcept (clang-cl)Stephan Bergmann
Change-Id: Ife669f959358992b547b408ab5d1f6bf1c1d14bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115744 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-13tdf#123936 Formatting files in module bridges with clang-formatPhilipp Hofer
Change-Id: Ice8b5ff4ddde1b0eca19cf29c418e3281389926d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105648 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-10-14-Werror,-Wmicrosoft-exception-spec (clang-cl)Stephan Bergmann
> C:/lo/core/bridges/source/cpp_uno/msvc_shared/except.cxx(124,11): error: exception specification in declaration does not match previous declaration [-Werror,-Wmicrosoft-exception-spec] > RTTInfos::RTTInfos() throw() {} > ^ > C:/lo/core/bridges/inc\msvc/except.hxx(93,5): note: previous declaration is here > RTTInfos(); > ^ Change-Id: I7fa9d85de70d1398f89443b202b9b60c36dcc46a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104243 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-30bridges: add a Windows Arm64 UNO bridgeJan-Marek Glogowski
Since Microsoft follows the general ARM64 ABI calling conventions, and the SEH exception handling is the same, this result is a mixed port of the gcc3_linux_aarch64 bridge and the refactored x86-64 exception handling. I have no idea, if the complicated 32-bit handling in RaiseInfo() is needed, as the ARM64 trampolines definitly use 64-bit code. But since this is the first working version, I currently don't mind much ;-) There is definitly more potential for refactoring in the whole bridges directory... Change-Id: I9782a2e99c0231cdd1286af156ad312229eccf39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103642 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-17WIN bridges: unify cpp2uno common codeJan-Marek Glogowski
Change-Id: I614fb662b164b0af9ca03c3ab8006b9105380112 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102865 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-17WIN bridges: unify exception handlingJan-Marek Glogowski
This is almost just refactoring, but with classes like type_info_ and __type_info, just following the code became tendious. I tried to come up with better names... and in the end included some minor code changes described below. This patch moves the "common" code for MSVC exception handling into msvc_shared/except.cxx. Still it contains a few small ifdefs, so it doesn't feel like clean separation, but a lot of duplicate code is dropped this way. The "major" code change for amd64 is the drop of the duplicate static RTTInfo object originally used by mscx_getRTTI and mscx_getRTTI_len, by merging of both functions into the single, new get() function to use a single std::find call. Change-Id: Ib07d40e2794cde79156be3324c80ccf21a6aa8ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102864 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-04tdf#124176 Use #pragma once in bridgesGeorge Bateman
This commit was carried out by a Python script, source of which is at https://bugs.documentfoundation.org/show_bug.cgi?id=124176#c97. Change-Id: Icadf43a74e4ba99e587a1e6287adf8d65f819ca1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100144 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-08compact namespace in avmedia..bridgesNoel Grandin
Change-Id: Iba1282caadab91a0c6e1c044dbab5e6e15f3707b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93705 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-18Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics),Stephan Bergmann
...redux, after 8473ac2e27efff3ec902a358896a669ce05f047a "Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics)" had done the same in parallel but forgot to remove some now-unnecessary parts: There appears to be no good reason to control the lifecycle of the VtableFactory instance via dso_init/exit, instead of via a plain static local variable. This removes the need for the Windows DllMain functions. They also called DisableThreadLibraryCalls, which disables the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notifications for the respective DllMain. Lets assume that this was only done (as an optimization) because there had to be a user-provided DllMain, and that it was not in itself a reason to have a user-provided DllMain. (Most other DllMain across the code base that call DisableThreadLibraryCalls also do something else. The only DllMain that only calls DisableThreadLibraryCalls is the one in shell/source/win32/shlxthandler/ooofilt/ooofilt.cxx, introduced with 3fbfb21e298ba506c50733d4aaefc7550bca2fe4 "INTEGRATION: CWS desktintgr02".) Change-Id: I696e1c8d49060853c1a2c24f67469f6adfea6801 Reviewed-on: https://gerrit.libreoffice.org/85367 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-17Remove some memset callsMike Kaganski
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-09-05loplugin:useuniqueptr in VtableFactoryNoel Grandin
Change-Id: I122b6749f148abb48f646bfcd32ef86e2f5fa553 Reviewed-on: https://gerrit.libreoffice.org/78651 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-20Fix typoAndrea Gelmini
Change-Id: I95c7fd5a7241c120395c897af4fc2742528e2166 Reviewed-on: https://gerrit.libreoffice.org/65391 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-11-02fix signatures of deleted copy/assign operatorsNoel Grandin
Change-Id: Id1a0749b78a7021be3564487fb974d7084705129 Reviewed-on: https://gerrit.libreoffice.org/62718 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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, activate USE_DOUBLE_MMAPjan Iversen
If not activated code assumes dymanic behaivour. Change-Id: I6b2807f4a2402a7adfa0839454586b425ee1ae29
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>
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-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-10-26loplugin:constmethods in unotoolsNoel Grandin
Change-Id: I13df4e184a826682f34a1d9e974b601397ba4a3d Reviewed-on: https://gerrit.libreoffice.org/43865 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23loplugin:includeform: bridgesStephan Bergmann
Change-Id: Icad98d3153a5b1710c8c2a2d338ba0129e9ff208
2017-10-23overload std::hash for OUString and OStringNoel Grandin
no need to explicitly specify it anymore Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec Reviewed-on: https://gerrit.libreoffice.org/43567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-11bridges: consistently use "" and <> in include directivesMike Kaganski
Change-Id: I8fb8e4fad4d6bfb4e24648833826f1a7e211b062 Reviewed-on: https://gerrit.libreoffice.org/43320 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-08-28Replace use of oslInterlockedCount with std::atomic in bridgesStephan Bergmann
Change-Id: Iad47a01fd283345a2461eaaea50633bf840e5201
2017-08-19Removed ignored includesAndrea Gelmini
By brute force analysis, it seems to me that we can easily remove these not used includes. It passed "make check install" Change-Id: I34ea2aae57e56fb8b2cf1066cf51b08068fa0b53 Reviewed-on: https://gerrit.libreoffice.org/41312 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-03-03UNO bridges: Remove MSVC 2013 legacy codeDavid Ostrovsky
Change-Id: Ia6f59f825ead50f92ed7a343df0c01f34ce5c6f8 Reviewed-on: https://gerrit.libreoffice.org/23199 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-15Support MSVC 15.0David Ostrovsky
New compiler changes quite some stuff: * Compiler detection done based on different registry key * .NET SDK detection done based on different registry key * Msbuild installation directory changed * Merge modules installation directory changed * SDK number in registry doesn't match the directory name: (registry key: 10.0.14393, directory name: 10.0.14393.0) * Compiler, include and library location directories changed * Architecture specific directory changed: x64 instead of amd64 * Compiler own include directory must be added with -I option * To force usage of SDK 10 (8.1 is selected per default) new switch WindowsTargetPlatformVersion is passed to msbuild, to avoid patching VC project files with this line: <WindowsTargetPlatformVersion><SDK>/WindowsTargetPlatformVersion> Known issues: * Firebird is broken: http://paste.openstack.org/show/594333 Change-Id: I148d7932aff43bbbd07bd493504df974726234c2 Reviewed-on: https://gerrit.libreoffice.org/31279 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2017-02-10Remove MinGW supportStephan Bergmann
In OOo times, there'd originally been efforts to allow building on Windows with MinGW. Later, in LO times, this has been shifted to an attempt of cross- compiling for Windows on Linux. That attempt can be considered abandoned, and the relevant code rotting. Due to this heritage, there are now three kinds of MinGW-specific code in LO: * Code from the original OOo native Windows effort that is no longer relevant for the LO cross-compilation effort, but has never been removed properly. * Code from the original OOo native Windows effort that is re-purposed for the LO cross-compilation effort. * Code that has been added specifially for the LO cross-compilation effort. All three kinds of code are removed. (An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing --with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.) Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568 Reviewed-on: https://gerrit.libreoffice.org/34127 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-10-16clang-cl loplugin: bridgesStephan Bergmann
Change-Id: I46bcc6eb1f34184626d2f584d7164d84f54c2cf8 Reviewed-on: https://gerrit.libreoffice.org/29879 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-15replace sal_Size with std::size_t (or sal_uInt64 for SvStream pos)Michael Stahl
... except in include/rtl, include/sal, include/uno, where sal_Size is retained for compatibility, and where callers of rtl functions pass in pointers that are incompatible on MSVC. Change-Id: I8344453780689f5120ba0870e44965b6d292450c
2016-05-27Get rid of unnecessary directory levels $D/inc/$DTor Lillqvist
Change-Id: Ibf313b8948a493043006ebf3a8281487c1f67b48 Reviewed-on: https://gerrit.libreoffice.org/25532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2016-04-25bridges/inc/bridges/cpp_uno/bridge.hxx appears unusedStephan Bergmann
Change-Id: I2b938739ebf4a5b13414bfa8ba27e83dd02b971d Reviewed-on: https://gerrit.libreoffice.org/24370 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-04-14loplugin:passstuffbyref in variousNoel Grandin
Change-Id: I80070c83204e531c2f599f8a56193d6ffe0e5022
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ib05cdd5a0f2a2e0f4c08504d89d0b6201cbcb429
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-09-12Actually fix uno bridge on MSVC 14.0David Ostrovsky
VC runtime was substantially refactored on MSVC 14.0. Among other, _tiddata structure defined in crt/src/mtdll.h was replaced with __vcrt_getptd defined in crt/src/vcruntime/vcruntime_internal.h. All members before unsigned long _NLG_dwCode were removed, so that the approach to access the member void * _tpxcptinfoptrs; /* ptr to exception info pointers */ with __pxcptinfoptrs() and compute the offset to the _curexception member of _tiddata doesn't work on MSVC 14.0. As of MSVC 14.0 __vcrt_getptd symbol isn't exported but Microsoft have introduced methods to access current exception, current exception context and processing throw (the later can be accessed through C++17 std::unhandled_exceptions() that was made available in MSVC 14.0): * __current_exception() * __current_exception_context() * __processing_throw() aka std::unhandled_exceptions() Make use of __current_exception() which we can hope will be maintained going forward. Change-Id: Ibfffa5fba62d6928328ac976cb1b24937277363e Reviewed-on: https://gerrit.libreoffice.org/18475 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2015-07-04Fix typosAndrea Gelmini
Change-Id: I75b4ad61785bf0ba1cb07735d938c0977356b8cc Reviewed-on: https://gerrit.libreoffice.org/16705 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-03-31Use OUString::unacquiredStephan Bergmann
found with git grep -E '\* *\<reinterpret_cast\>[^>]+\<OUString\>' Change-Id: I9306d4ad8e3b1664f54cb7df86f2d79bfd3c6cb9
2015-02-07loplugin:deletedspecialStephan Bergmann
Change-Id: Ifac86f4d7e637e9fdbce7e60f6d383e7dca69508
2015-01-07Revert "Revert "boost::unordered_map->std::unordered_map""Stephan Bergmann
This reverts commit 3976739f2378391fa09379c48844daf0e2790f5b, the problem mentioned there was caused by a different commit, and has meanwhile been fixed.
2015-01-06Revert "boost::unordered_map->std::unordered_map"Caolán McNamara
as an experiment to see if that's somehow the cause of NEXT An uncaught exception of type com.sun.star.sdbc.SQLException NEXT - General error: java.lang.UnsatisfiedLinkError: com.sun.star.sdbcx.comp.hsqldb.StorageFileAccess.isStreamElement(Ljava/lang/String;Ljava/lang/String;)Z NEXT ##Failure Location unknown## : Error Test name: HSQLDBTest::testEmptyDBConnection NEXT An uncaught exception of type com.sun.star.sdbc.SQLException NEXT - General error: java.lang.UnsatisfiedLinkError: com.sun.star.sdbcx.comp.hsqldb.StorageFileAccess.isStreamElement(Ljava/lang/String;Ljava/lang/String;)Z under clang This reverts commit ce7f442bd0b600c0acc74d4757e894a2ba382c53. Change-Id: Ieed0be5721953b9644e4be411173e0ea73f33ed8
2015-01-05boost::unordered_map->std::unordered_mapCaolán McNamara
Change-Id: I3a16703727f1a421e0ed18079e14219a4feeb8c8
2015-01-02No need for USE_DOUBLE_MMAP on OS XTor Lillqvist
I had introduced it with d83de4b1a93ba7ed7bc3243073be3de96a44bfa9 in 2012, when the C++/UNO bridge for 64-bit OS X was created mostly as a copy of the Linux one. Stephan says that the only need for USE_DOUBLE_MMAP should be on SELinux anyway, so most likely also its use for the various BSDs and Android are copypasta or cargo cult. Change-Id: I1c16e830e5e8269b78b14837a9127a98612a6e54
2014-08-07Include RTTI in generated vtables for ubsan's vptr-based checksStephan Bergmann
...though only on gcc3_linux_x86-64 for now. Change-Id: Id90554425e78b38a5a97149f2a7d3ac04cbe0c9b
2014-06-05bridges: remove SAL_THROW macroNoel Grandin
Change-Id: I2daafd711aedab17b6c13fde95c8af5f49d38a7c
2014-05-20enhance pass-by-ref plugin to detect large argumentsNoel Grandin
Detect arguments larger than 64 chars passed by value. Change-Id: I9b0ea9ccb99d115984a26eab67c9cf6afd5f6cae Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2014-05-15Resolves fdo#70681: fixincludeguards.pl: all that's leftThomas Arnhold
Change-Id: I3e51a62710bb46c8255fd228d41d9300c90a1fb5 Reviewed-on: https://gerrit.libreoffice.org/9360 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>