summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/msvc_win32_x86-64/cpp2uno.cxx
AgeCommit message (Collapse)Author
2019-01-30loplugin:redundantinline (clang-cl)Stephan Bergmann
Change-Id: Ib6320ddc049e93cca4c5931ad28d1873d34bd8b4 Reviewed-on: https://gerrit.libreoffice.org/67137 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-08Remove obsolete SAL_FALLTHROUGH completelyStephan Bergmann
...after 7ffdd830d5fb52f2ca25aa80277d22ea6d89970b "HAVE_CPP_ATTRIBUTE_FALLTHROUGH is always true now" Change-Id: I54e5ff4e036a6bb3e5774d1c0524158aae18e937 Reviewed-on: https://gerrit.libreoffice.org/64800 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-24loplugin:external (clang-cl)Stephan Bergmann
Including: * expanding STDAPI to its definition (as per <https://msdn.microsoft.com/library/ms686631(vs.85).aspx> "STDAPI"), to add __declspec(dllexport) into its middle, in extensions/source/activex/so_activex.cxx; as discussed in the comments at <https://gerrit.libreoffice.org/#/c/60691/> "Get rid of Windows .def files in setup_native, use __declspec(dllexport)", having a function both listed in a .def file EXPORTS and marking it dllexport is OK, and the latter helps the heuristics of loplugin:external; however, the relevant functions in extensions/source/activex/so_activex.cxx probably don't even need to be exported in the first place? * follow-up loplugin:salcall in sal/osl/w32/file-impl.hxx Change-Id: Ida6e17eba19cfa3d7e5c72dda57409005c0a0191 Reviewed-on: https://gerrit.libreoffice.org/60938 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
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-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>
2017-10-27loplugin:includeform: bridges (Windows)Stephan Bergmann
Change-Id: I4514d751d5449902c589c7f3577c7f3cd593d2e9
2017-03-24loplugin:redundantcastStephan Bergmann
Change-Id: Ia7701e84ea87588abb526ad82da659114474bee5
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-05-25SAL_FALLTRHOUGH in Windows-only codeStephan Bergmann
Change-Id: If35da46c209746a86687e1c3f60f72f2f08aa681
2016-02-22WaE: vs2015 shadow localNorbert Thiebaud
Change-Id: Ia1cb87653775bf9226bac46842b309d55fbaf084 Reviewed-on: https://gerrit.libreoffice.org/22598 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: Jenkins <ci@libreoffice.org>
2015-11-19missing namespaceStephan Bergmann
Change-Id: Ib291151508756035fbfde1805ba48e746d96dd59
2015-11-19...and make it clear that RegParamKind /is/ usedStephan Bergmann
...and will not erroneously be removed a third time Change-Id: I7007dbd1d3a1762523c0ce54a04c37a5d2203a48
2015-06-22MSVC 64-bit: In queryInterface optimization, copy hidden ret val addrStephan Bergmann
...to location where privateSnippetExecutor will pick it up to return it from RAX. Change-Id: I59b8db1a12177a3c4da4c810770bee4ace295115
2015-04-22Various #include <sal/log.hxx> fixupsStephan Bergmann
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
2014-12-02except.cxx: Fix pTypeDescr is unknown in this context errorDavid Ostrovsky
Change-Id: Ic47f69b01cf17a55901e9e3541419d9f477d9585 Reviewed-on: https://gerrit.libreoffice.org/13210 Tested-by: David Ostrovsky <david@ostrovsky.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2014-11-21ibridges: convert all legacy osl/diagnose.h assertions in source/cppu_unoMichael Stahl
Change-Id: I4e78fac76b6bb4923e3b680d910afe5bb9640c33
2014-09-29Improve debug outputStephan Bergmann
Change-Id: Iba0c35a5bc07ac7b67186c3eeae1a2c926a6bc69
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-03-01Remove visual noise from bridgesAlexander Wilms
Change-Id: I53fa23d335ff62795f09f9838d4064cea71aeb65 Reviewed-on: https://gerrit.libreoffice.org/8237 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-06-29remove OUString wrap for string literalsThomas Arnhold
For some functions and all kinds of Exceptions. CannotConvertException CloseVetoException DisposedException EmptyUndoStackException ErrorCodeIOException Exception GridInvalidDataException GridInvalidModelException IOException IllegalAccessException IllegalArgumentException IllegalTypeException IndexOutOfBoundsException NoMasterException NoSuchElementException NoSupportException PropertyVetoException RuntimeException SAXException ScannerException StorageWrappedTargetException UnsupportedFlavorException VetoException WrappedTargetException ZipIOException throwGenericSQLException throwIllegallArgumentException createInstance createInstanceWithContext forName getByName getPackageManager getPropertyValue getUnpackedValueOrDefault getValueByName hasPropertyByName openKey setName setPropertyValue supportsService bash command: for i in `cat list`; do git grep "$i\s*(\s*OUString(\s*\"" -- '*.[hc]xx' | cut -d ':' -f1 | sort -u | xargs sed -i -e "s/\(\<$i\s*(\)\s*OUString(\s*\(\"[^\")\\]*\"\)\s*)\s*/\1\2/g" -e "s/\($i.*\)\"+ /\1\" + /g"; done Change-Id: Iaf8e641b0abf28c082906014f87a183517630535 Reviewed-on: https://gerrit.libreoffice.org/4624 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-03-19automated removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStringsThomas Arnhold
Done with a perl regex: s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms Change-Id: Idf28320817cdcbea6d0f7ec06a9bf51bd2c3b3ec Reviewed-on: https://gerrit.libreoffice.org/2832 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2012-11-15re-base on ALv2 code. Includes:Michael Meeks
Patches contributed by: Armin Le Grand. #118558# Correcting OLE attributes of LO3.4 at load time by loading as OOo3.3, details see task. http://svn.apache.org/viewvc?view=revision&revision=1195906 #118485# - Styles for OLEs are not saved. http://svn.apache.org/viewvc?view=revision&revision=1182166 #118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert metafiles http://svn.apache.org/viewvc?view=revision&revision=1293316 #119337# Solves the wrong get/setPropertyValue calls in SvxShapeText (and thus in SvxOle2Shape) http://svn.apache.org/viewvc?view=revision&revision=1344156 Patches contributed by Mathias Bauer (and others) gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 cws mba34issues01: #i117717#: remove wrong assertion http://svn.apache.org/viewvc?view=revision&revision=1172349 Patch contributed by Herbert Duerr goodbye Registration and License dialogs, don't let the door hit you http://svn.apache.org/viewvc?view=revision&revision=1172613 help gcc 4.6.0 on 32bit ubuntu 11.10" http://svn.apache.org/viewvc?view=revision&revision=1245357 Do not add targets for junit tests when junit is disabled. Patch contributed by Andre Fischer http://svn.apache.org/viewvc?view=revision&revision=1241508 Revert "sb140: #i117082# avoid unncessary static class data members commit 21d97438e2944861e26e4984195f959a0cce1e41. remove obsolete FreeBSD visibility special case. retain consolidated BSD bridge code, remove OS/2 pieces.
2012-02-05Some cppcheck cleaningJulien Nabet
2011-11-27remove include of pch header in bridgeNorbert Thiebaud
2011-01-31Fix thinkoTor Lillqvist
2011-01-31Now the C++-UNO bridge on x64 Windows works a bit betterTor Lillqvist
I had implemented a couple of basic things quite wrong, partly because of easily misunderstood Microsoft documentation. A couple of things I just had forgot to do properly. Attempt to make the source code more consistent in spacing and variable naming. Clean away meaningless vertical space wasting non-verbal comments. The bridgetest over in testtools now runs through quite a lot of its paces successfully. But exception handling and RTTI, the stuff in except.cxx, is still not really done at all. And even if I comment out those checks in bridgetest so that no exceptios are thrown, I then get a crash later.
2011-01-29Skip the this pointer in cpp2uno_call()Tor Lillqvist
Also change a few variable names to consistently use the "TD" suffix for typelib_TypeDescription variables.
2011-01-28Let's use a shared privateSnippetExecutor() approach as on x64 LinuxTor Lillqvist
It simplifies function table and unwinding info management, as those are now static for the privateSnippetExecutor() function in call.asm. Even if it is slightly ugly to have to poke in more instructions in codeSnippet(). Out privateSnippetExecutor() is much simpler than the x64 Linux one, thanks to the simpler calling convention.
2011-01-28More work on x64 Windows C++-UNO bridgeTor Lillqvist
Now the call through the trampoline into cpp_vtable_call() seems to work, but I get a crash later. Glitches in parameter passing, no doubt. Debugging needed in cpp_vtable_call() and cpp2uno_call(). The basic implementation is probably sane. But I wonder if I after all should have done like in the x86-64 Linux implementation, with the dynamically generated trampoline just jumping into fixed code shared between all trampolines. Probably should redo it like that, yes. Will it then cause a problem for OS unwinding if the caller of the trampoline calls a short dynamically generated code snippet, which then jumps into the fixed part, and only the fixed part has a (assembler-generated) function table and unwind info? Probably not. It is quite impossible that such a short dynamically generated snippet with just a couple of instructions would cause an exception, and when we have jumped into the fixed part, where the call to cpp_vtable_call() is done, it doesn't matter any more that the caller in fact didn't call what the function table claims is the entry point. Or does it? Doing it that way would mean no RtlAddFunctionTable() and RtlDeleteFunctionTable() would be needed, and especially doing the latter correctly is a bit hairy.
2011-01-28Add a function table entry for the dynamically generated trampolineTor Lillqvist
2011-01-27More work on the x64 Windows C++-UNO bridgeTor Lillqvist
2011-01-26Intermediate commitTor Lillqvist
2011-01-23Add debug output to the dummy functions to see if/when they get calledTor Lillqvist
2011-01-22More hacking on the C++-UNO bridge for x64 WindowsTor Lillqvist
I think I might actually be able to manage without any assembly coding here, thanks to the clean design of the x64 Windows calling convention, and tricking the compiler (in a fully documented and stable way) by using varargs. uno2cpp.cxx might even be getting close to working now, but cpp2uno.cxx and except.cxx parts are just forced to compile by using dummy code.
2011-01-20More hacking on the wntmscx bridge, still far from readyTor Lillqvist
See asmbits.asm for some general comments and pointers to useful information.
2011-01-17Commit 64-bit Win32 C++ bridge filesTor Lillqvist
Just copies of the 32-bit ones so far, so obviously don't compile even. No in-line assembly in 64-bit MSVC for instance.