Commit graph

1169 commits

Author SHA1 Message Date
Caolán McNamara
ebded7f2f5 what happens if we try and do it right ? 2011-09-06 08:52:36 +01:00
Tor Lillqvist
c209bef8e5 Use prefixed name for uno_initEnvironment() for iOS 2011-08-21 17:49:11 +03:00
Takeshi Abe
dca2588b64 cppcheck: remove assigned but unused variable 2011-08-17 00:04:04 +09:00
Tor Lillqvist
7e8e85adbe Add codeSnippet debugging output when dbglevel>1 2011-08-14 00:55:12 +03:00
Tor Lillqvist
6a208b6c6c Add codeSnippet debugging output when dbglevel>1 2011-08-14 00:55:11 +03:00
Tor Lillqvist
9540af1ece Start of C++/UNO bridge for iOS simulator and device
Unlikely to work yet, but at least builds for the simulator.

We can not use dynamic code generation on iOS, so we use a fixed set
of code snippets, genertated by a Perl script. Experimentation seems
to indicate that a relatively small set of static code snippets should
be enough in simple use cases with no extensions (that we can't really
support on iOS anyway) and stuff.

Except for the static set of snippets the code mostly is, or will be,
an ifdefified combination of the gcc3_linux_arm and gcc3_macosx_intel
code. The ABI on iOS ARM devices should be quite close to that on
Linux ARM, knock on wood.
2011-08-14 00:51:32 +03:00
Tor Lillqvist
2ba07916ff Add some comments 2011-08-14 00:51:31 +03:00
Caolán McNamara
5b759fd175 YES->TRUE 2011-08-04 17:05:22 +01:00
Tomáš Chvátal
f8069fc858 Fix segmentation fault when linking -mavx on new CPUs is enabled by explicitly adding -mno-avx to CXXFLAGS. 2011-08-04 16:56:38 +01:00
Caolán McNamara
e6c3cc8ade Revert adding -mno-avx to CXXFLAGS, not universally supported
This reverts commit bf85809783ba11c9018c03f5a26508fa856ff3f8.
2011-08-03 12:25:35 +01:00
Tomáš Chvátal
ce5469751c Fix segmentation fault when linking -mavx on new CPUs is enabled by explicitly adding -mno-avx to CXXFLAGS. 2011-08-03 12:09:50 +01:00
Francois Tigeot
35e1b53c7e Remove OS/2 support. 2011-04-18 16:59:48 +02:00
Caolán McNamara
02c70c3b93 WaE: tweak for simple-minder compilers 2011-04-07 10:01:38 +01:00
Jan Holesovsky
a3a19632f4 Merge remote-tracking branch 'origin/integration/dev300_m101'
Conflicts:
	bridges/source/remote/urp/urp_environment.cxx
	bridges/source/remote/urp/urp_propertyobject.cxx
	bridges/source/remote/urp/urp_reader.cxx
	remotebridges/source/factory/bridgefactory.cxx
	stoc/source/corereflection/crefl.cxx
	stoc/source/javavm/javavm.cxx
	stoc/source/simpleregistry/simpleregistry.cxx
2011-03-18 15:58:02 +01:00
Thomas Arnhold
d0c187cc8c OSL_TRACE: Use format string 2011-03-12 14:19:49 +01:00
Thomas Arnhold
7f656740d8 Move OSL_ENSURE(0,...) to OSL_FAIL(...) 2011-03-12 14:19:49 +01:00
Thomas Arnhold
adc6fe00e3 Move OSL_ENSURE(0,...) to OSL_FAIL(...) 2011-03-12 14:19:48 +01:00
Thomas Arnhold
629b05ac30 Remove unnecessary brackets 2011-03-12 14:19:48 +01:00
Thomas Arnhold
6488e5f120 Move OSL_ENSURE(false,...) to OSL_FAIL(...) 2011-03-12 14:19:48 +01:00
Norbert Thiebaud
d7fc91fcd1 Merge commit 'ooo/DEV300_m101' into integration/dev300_m101
* commit 'ooo/DEV300_m101': (185 commits)
  chart52: cleanup unused legend entry stuff in preparation of issue #i82802#
  masterfix: #i10000# add missing dependency in offapi
  sb138: #i115619# fix for MinGW
  sb138: #i115619#, #i116038# use osl_setThreadName in binaryurp
  sb138: #i115619# osl_setThreadName
  gridsort: i116682: update UnoControlDialog to reflect XDialog
  gridsort: minor changes to the new API: - renamed XMutableGridDataModel::setRowHeading to updateRowHeading for consistency reasons - renamed XSortableGridDataModel to XSortableGridData - actually, this is not a full-fledged model in itself.
  gridsort: grid control related unit tests (first set, more to come)
  sb138: #i116038# fresh implementation of binary URP bridge
  chart52: #28670# make the legend within charts resizeable - part 2
  gridsort: re-did the column resizing - introduced XGridColumn.Flexibility, determining to which degree the column is resized during auto-column-resizing - removed XGridColumn.PreferredWidth - there really is no need for this anymore now - documented the relationship between XGridColumn.Flexibility and XGridColumn.Resizeable - re-implemented TableControl_Impl::impl_ni_updateColumnWidths, with (hopefully) less magic
  sb139: #i116530# improve Java URP bridge error notification by utilizing the java.lang.Throwable cause facility
  gridsort: document the relationship between soorting the data and notifying XGridDataListeners
  gridsort: introduce XGridColumn::DataModelIndex. this allows for column removal/insertion at the GridColumnModel, without the need to touch the GridDataModel
  locales34: #i112431# adapt documentation to reality
  gridsort: introduce XSortableGridDataModel::removeColumnSort
  gridsort: #163172# added UNO API support for sorting grid data. Implementation still unfinished. Things missing in the SortableGridData implementation - add as listener to the delegator, so we're notified of changes - translate and multiplex those changes - do own notifications (XGridDataListener.dataChanged) when the sort order changed - (possibly) update the sort order when the data in the current sort-column changed
  gridsort: made the row title a row heading, being an Any instead of a string
  gridsort: XMutableGridData: renamed updateRow to updateRowData for consistency; introduced updateRowToolTip as shortcut for multiple updateCellToolTip calls
  gridsort: updateCell->updateCellData, setCellToolTip->updateCellToolTip; in both methods, have (Col,Row) params instead of (Row,Col), for consistency reasons
  ...

Conflicts:
	bridges/inc/bridges/remote/bridgeimpl.hxx
	bridges/inc/bridges/remote/connection.h
	bridges/inc/bridges/remote/context.h
	bridges/inc/bridges/remote/helper.hxx
	bridges/inc/bridges/remote/mapping.hxx
	bridges/inc/bridges/remote/proxy.hxx
	bridges/inc/bridges/remote/remote.h
	bridges/inc/bridges/remote/remote.hxx
	bridges/inc/bridges/remote/stub.hxx
	bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
	bridges/source/remote/context/context.cxx
	bridges/source/remote/static/helper.cxx
	bridges/source/remote/static/mapping.cxx
	bridges/source/remote/static/proxy.cxx
	bridges/source/remote/static/remote.cxx
	bridges/source/remote/static/remote_types.cxx
	bridges/source/remote/static/remote_types.hxx
	bridges/source/remote/static/stub.cxx
	bridges/source/remote/urp/urp_bridgeimpl.cxx
	bridges/source/remote/urp/urp_bridgeimpl.hxx
	bridges/source/remote/urp/urp_cache.h
	bridges/source/remote/urp/urp_cache.hxx
	bridges/source/remote/urp/urp_dispatch.cxx
	bridges/source/remote/urp/urp_dispatch.hxx
	bridges/source/remote/urp/urp_environment.cxx
	bridges/source/remote/urp/urp_job.cxx
	bridges/source/remote/urp/urp_job.hxx
	bridges/source/remote/urp/urp_log.cxx
	bridges/source/remote/urp/urp_log.hxx
	bridges/source/remote/urp/urp_marshal.cxx
	bridges/source/remote/urp/urp_marshal.hxx
	bridges/source/remote/urp/urp_marshal_decl.hxx
	bridges/source/remote/urp/urp_property.hxx
	bridges/source/remote/urp/urp_propertyobject.cxx
	bridges/source/remote/urp/urp_propertyobject.hxx
	bridges/source/remote/urp/urp_reader.cxx
	bridges/source/remote/urp/urp_reader.hxx
	bridges/source/remote/urp/urp_replycontainer.hxx
	bridges/source/remote/urp/urp_threadid.cxx
	bridges/source/remote/urp/urp_threadid.hxx
	bridges/source/remote/urp/urp_unmarshal.cxx
	bridges/source/remote/urp/urp_unmarshal.hxx
	bridges/source/remote/urp/urp_writer.cxx
	bridges/source/remote/urp/urp_writer.hxx
	cppu/source/threadpool/threadpool.cxx
	cppu/util/target.pmk
	cppuhelper/qa/propertysetmixin/comp_propertysetmixin.cxx
	cppuhelper/source/interfacecontainer.cxx
	cpputools/source/regcomplazy/regcomplazy.cxx
	jurt/prj/d.lst
	jvmfwk/source/elements.cxx
	offapi/com/sun/star/awt/grid/GridDataEvent.idl
	offapi/com/sun/star/awt/grid/XGridColumn.idl
	offapi/com/sun/star/awt/tab/makefile.mk
	offapi/com/sun/star/chart2/ExplicitIncrementData.idl
	offapi/com/sun/star/chart2/XPlotter.idl
	offapi/com/sun/star/chart2/XUndoHelper.idl
	offapi/com/sun/star/document/MediaDescriptor.idl
	offapi/com/sun/star/document/makefile.mk
	offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
	offapi/com/sun/star/script/ModuleInfo.idl
	offapi/com/sun/star/script/ModuleType.idl
	offapi/com/sun/star/text/TextMarkupType.idl
	offapi/com/sun/star/util/XTextSearch.idl
	offapi/com/sun/star/xml/sax/XFastAttributeList.idl
	pyuno/source/loader/makefile.mk
	remotebridges/source/bridge/bridge_connection.cxx
	remotebridges/source/bridge/bridge_connection.hxx
	remotebridges/source/bridge/bridge_provider.cxx
	remotebridges/source/bridge/remote_bridge.cxx
	remotebridges/source/bridge/remote_bridge.hxx
	remotebridges/source/dynamicloader/dynamicloader.cxx
	remotebridges/source/factory/bridgefactory.cxx
	remotebridges/source/factory/bridgeimpl.cxx
	remotebridges/source/factory/bridgeimpl.hxx
	remotebridges/source/factory/makefile.mk
	sal/cppunittester/cppunittester.cxx
	sal/inc/osl/diagnose.h
	sal/osl/os2/system.h
	sal/osl/unx/diagnose.c
	sal/osl/unx/file_misc.cxx
	sal/osl/unx/process_impl.cxx
	sal/osl/w32/diagnose.c
	sal/osl/w32/process.cxx
	sal/prj/build.lst
	sal/qa/rtl/math/makefile.mk
	sal/qa/rtl/math/rtl_math.cxx
	sal/qa/rtl/math/rtl_old_testint64.cxx
	sal/qa/rtl/math/test_rtl_math.cxx
	sal/systools/win32/kill/kill.cxx
	sal/textenc/tencinfo.c
	sal/util/sal.map
	stoc/source/inspect/introspection.cxx
	stoc/source/security/file_policy.cxx
	stoc/source/simpleregistry/simpleregistry.cxx
2011-03-08 22:29:39 -06:00
Julien Nabet
933e22880b Remove "using namespace ::rtl" 2011-03-02 21:53:12 +01:00
Thomas Arnhold
0d139d3d2e Oops, use #if instead of #ifdef 2011-03-01 17:12:28 +01:00
Thomas Arnhold
61100f6fc6 Move CMC_DEBUG to OSL_DEBUG_LEVEL 3
This level means 'ultra-verbose'.
2011-03-01 17:05:34 +01:00
Francois Tigeot
ee1cfb353a Remove a typo. 2011-02-21 16:18:06 +01:00
Tor Lillqvist
8206226895 More work on x64 Windows C++-UNO bridge 2011-02-21 09:46:34 +02:00
Caolán McNamara
92008e811e unused struct 2011-02-18 20:50:25 +00:00
Francois Tigeot
f091f5b395 dragonfly stuff 2011-02-15 15:55:19 +00:00
Fridrich Strba
aac09aee67 move bridges to boost::unordered_map 2011-02-04 00:02:36 +01:00
Tor Lillqvist
8a91eee9c3 More work on except.cxx, intermediate commit
Now I have some understanding what it is the code here should do, and
have found 3rd-party documentation (in source code form even) for the
exception-related data structures.

It still crashes, but I hope that is just because of thinkos that need
to be fixed by debugging, or reading the code. There are some horrible
code with quite complex casts in places, I need to introduce some
macros or inline functions instead to make the casting from RVAs to
real pointers and back cleaner. Also maybe just use DWORD instead of
sal_uInt32 for terseness, and use a specific typedef name for DWORDs
that actually are RVAs for clarity?
2011-02-02 13:29:43 +02:00
Thomas Arnhold
1a6617cf05 Clean up makefiles 2011-02-01 18:22:56 +01:00
Tor Lillqvist
a129a38585 Fix thinko 2011-01-31 09:29:55 +02:00
Tor Lillqvist
d398fd1383 Now the C++-UNO bridge on x64 Windows works a bit better
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-31 01:23:16 +02:00
Tor Lillqvist
b7d48fa5ac Skip the this pointer in cpp2uno_call()
Also change a few variable names to consistently use the "TD" suffix
for typelib_TypeDescription variables.
2011-01-29 01:40:14 +02:00
Tor Lillqvist
75e02ab302 Let's use a shared privateSnippetExecutor() approach as on x64 Linux
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-28 18:41:07 +02:00
Tor Lillqvist
96b1611644 Fix typo and thinko 2011-01-28 17:19:18 +02:00
Tor Lillqvist
31a8176ab6 More work on x64 Windows C++-UNO bridge
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-28 16:41:04 +02:00
Tor Lillqvist
5287150cb7 Add a function table entry for the dynamically generated trampoline 2011-01-28 04:22:11 +02:00
Tor Lillqvist
1a041ea2bf Corect copyright header and comment 2011-01-27 23:58:27 +02:00
Tor Lillqvist
dc433642ab More work on the x64 Windows C++-UNO bridge 2011-01-27 23:39:59 +02:00
Caolán McNamara
5e8635f624 move cxxabi.h after stl headers to workaround gcc 4.6.0 and damn stlport 2011-01-27 20:26:07 +00:00
Tor Lillqvist
72f06717f6 Intermediate commit 2011-01-26 23:08:54 +02:00
sb
138ab06ecc sb138: #i116038# fresh implementation of binary URP bridge 2011-01-26 09:26:59 +01:00
Tor Lillqvist
0ec0d899bf Add debug output to the dummy functions to see if/when they get called 2011-01-23 03:26:40 +02:00
Tor Lillqvist
fc381c2b2f Use correct name for mscx_uno.dll and deliver it 2011-01-23 00:55:22 +02:00
Tor Lillqvist
28787edbd8 More hacking on the C++-UNO bridge for x64 Windows
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-22 03:20:19 +02:00
Thomas Arnhold
113a18833a Remove old RCS lines. 2011-01-21 14:31:33 +01:00
Robert Nagy
1c321e027d use errno to get the correct error message if mkstemp() fails 2011-01-21 11:03:11 +01:00
Tor Lillqvist
266c2d6b34 More hacking on the wntmscx bridge, still far from ready
See asmbits.asm for some general comments and pointers to useful
information.
2011-01-20 02:39:23 +02:00
Tor Lillqvist
acf1b8ee70 Commit 64-bit Win32 C++ bridge files
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.
2011-01-17 03:52:12 +02:00
Caolán McNamara
d0b04ecea7 cppcheck: prefer prefix variant 2010-12-30 21:16:26 +00:00