Commit Graph

985 Commits

Author SHA1 Message Date
fc320c41b5 bool improvements
Change-Id: I215bb8c484785175c297953a2ef385b2caf87bee
2014-01-28 20:26:30 +01:00
6455415c7c Use proper bool operations
Change-Id: Ibd904ce1061814e06cd64db607de6f5cfeed1c2a
2014-01-10 17:11:43 +01:00
82625bb98e remove unnecessary sal_Unicode casts in OUStringBuffer::append calls
Convert code like:
    buf.append( static_cast<sal_Unicode>('!') );
to:
    buf.append( '!' );

Change-Id: Iacb03a61de65a895540940953b49620677b3d051
2014-01-07 09:43:37 +02:00
aabee4ca0b cppcheck: fix consecutive break
Change-Id: I028543f751ed8759f694cc4901d8c89d76867596
2013-12-27 15:02:33 +01:00
17f1b0f551 Using pre-cached type_infos provided by the typeid operator seems to work now
Apparently there was no problem in this after all. The reason it
seemed not to work earlier was because of the unwinding failure due to
the missing .cfi_startproc and .cfi_endproc thingies in helper.s

The hack in ucbhelper is now not needed after all.

Change-Id: If9fec5c502d4c9d0c44709ad9c2729f812e882e2
2013-12-27 14:02:44 +02:00
480c7c2ef4 Add .cfi_startproc and endproc markers
Helps a bit... Now, if I revert the hackish arm64 change to ucbhelper,
instead of "terminating with uncaught exception" I get "terminating
with unexpected exception";) But, at least with the stack correctly
unwound to BaseContent::execute(), I think. Actually of course I don't
really understand much of this.

Change-Id: Iacb4342414cb84f9db31f9a40c7a136cc5d191a6
2013-12-27 03:41:38 +02:00
95d5922c02 Add static assertion that our Fake_type_info is the same size as the real one
Change-Id: Id8490bb6373d85be2c529a005be55295c530febb
2013-12-26 15:23:17 +02:00
96af0825ab Need the _LIBCPP_NONUNIQUE_RTTI_BIT here, too
Doesn't help though, throwing exceptions using __cxa_throw() and our
hand-crafted type_infos still doesn't work on arm64.

Change-Id: If6099e8696e6232c4b6d4bacd654d28419538e0f
2013-12-26 15:23:17 +02:00
69ea6062d2 Minor logging change
Change-Id: I2d25c7c196d0386a1c38fa55746370a84c2a2398
2013-12-24 03:34:46 +02:00
a639961bb2 More informative logging in codeSnippet()
Change-Id: I51bceba0918928812daca3a2c92633b6998b380c
2013-12-24 03:34:46 +02:00
86a372ade0 More informative logging in codeSnippet()
Change-Id: I6909ed60b39a65e6a6464427b2f839aa2bff3863
2013-12-24 02:47:07 +02:00
5dcd53835d More informative logging
Change-Id: I71b04086ae0418f0a6c988fc71c1e5fee6eed690
2013-12-23 12:59:05 +02:00
792c20bf58 Let's try to use basically the same except.cxx for iOS as for OS X
Change-Id: Ic4cdf6b91f2a71fc556c8d9c2ba3808f0d953754
2013-12-23 12:59:05 +02:00
1d3b6ce74a Avoid Perl warnings
Change-Id: I62ade513bd98e5410c1df14e890e8cc964f1eb25
2013-12-23 12:59:04 +02:00
a1a76eface Fix build break for (32-bit) arm
Change-Id: I21c81aa1791cab8ac510c87b4a78ad1367fe8b78
2013-12-22 10:50:23 +02:00
77f1f2209c iOS arm64 C++/UNO bridge WIP
Change-Id: I786cc64fc814c755ba215898026365af26b56205
2013-12-22 10:50:23 +02:00
b0a9c3c71d Log a bit more information in codeSnippet()
Change-Id: Ifecfd55ed7f6a48f1cfea8182a40e8568dfc4780
2013-12-22 02:19:46 +02:00
928c8c800e iOS arm64 C++/UNO bridge WIP
Change-Id: I5eb994e4a48b043f463940d1c34ad7a9459b83cd
2013-12-21 18:57:09 +02:00
9cd1ab37e9 Add OSX@PowerPC support to UNO/C++ bridge
It is the same as Linux@PowerPC 32-bit (cp -r gcc3_linux_powerpc gcc3_macosx_powerpc),
with differences applied:
      * Use 13 FP registers and correct 'codeSnippetSize' (8*4 + 13*8 = 136).
      * Use "frame pointer + 24", not "+8".
      * Don't USE_DOUBLE_MMAP and 'sal_PtrDiff writetoexecdiff'.
      * Don't use "__NO_FPRS__", OS X capable PowerPC machines all have FPRs.
      * Use "rN"/"fN" syntax to avoid "Parameter syntax error" errors.
      * Include sys/types.h, sys/malloc.h instead of malloc.h;
        don't include string.h.

Change-Id: I5b251c65466af2a06bd309d3a7b1aaf26ac12656
Reviewed-on: https://gerrit.libreoffice.org/7072
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2013-12-17 12:13:27 +00:00
c69b6417af fdo#72598 Remove SunStudio cruft from code base
Change-Id: Ia6799c852eb95d496fbc8dcfdabde62dffc263a6
Reviewed-on: https://gerrit.libreoffice.org/7066
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2013-12-13 09:07:07 +00:00
72bbd83c03 Intermediate work in progress commit on the arm64 C++/UNO bridge
Note that the arm64 code is not even close to "working" yet.

Change-Id: I261d09f7e797cded26396ed0d4b8b3021f712ebf
2013-12-08 14:16:16 +02:00
a39d07e134 Unwind occurrences of deprecated sal_sChar, sal_uChar
Change-Id: I76be464200d486efef9c8a7e957c310c9adae3b8
2013-11-27 12:52:32 +01:00
d52bfc915f Add some more comments
Change-Id: I267cb424deee4d329a0860cf9c87f295fb8fc5bf
2013-11-12 00:01:14 +02:00
e31a3abfc7 WaE: -Wunused-variable
Change-Id: I31bdce7f31185faebaf8a8a2162669b185def0c9
2013-10-05 01:47:20 +02:00
e036d4b706 Spell "indices" correctly
Change-Id: I63b1de195bf2f3f8bfd185181f48b1520cdd849f
2013-10-02 21:57:42 +03:00
dba1bb24cc Add dummy arm64 code to just get it to compile for now
Change-Id: I9898c0757a2dd495c73bd4b485dd8489f4a2b08e
2013-10-02 10:00:22 +03:00
e669d631a7 Untabify and add mode lines
Change-Id: I185befe8aebdc13df601b1151b45c62e7291b5c0
2013-10-01 01:03:35 +03:00
6a3493adb7 Add dummy code for the ARM64 case
Change-Id: I88a871374ecc8d9d59f9b33b5198c0e6c9a2458d
2013-10-01 01:03:29 +03:00
883dfa4827 Don't use tabs here either
Change-Id: I633d73ac04ad97bb71e62a93e7d804cd253b2a31
2013-10-01 00:53:27 +03:00
dbd0fa7216 Use // consistently for comments in the iOS assembly sources
Change-Id: I60bbf6c309130bbf868745b3ba6fc1c0729d850a
2013-10-01 00:53:27 +03:00
9ab9948380 CID#705982 ensure umask for mkstemp
Change-Id: I5c67346d09d04a2d1a781f8fee07c84004aac960
2013-09-12 13:09:04 +01:00
6ea6a422fb s/wiki.services.openoffice.org/wiki.openoffice.org/g
Change-Id: I059fbee385a109069c70f3869021c8e2ee48fee1
2013-09-07 14:21:22 +02:00
ff050190aa The except.cxx for gcc3_macosx_x86-64 can be the same as for gcc3_macosx_intel
Change-Id: I567a20dc70b2b9e13965550333f4ed89205c4333
2013-08-30 17:31:08 +03:00
5272f275d0 Make RTTI creation work for libc++
Unlike libstdc++.dylib, libc++abi.dylib no longer exports the type info for
std::type_info, but the layout of the __cxxabiv1::__*_type_info classes is
controlled by the Generic C++ ABI anyway, so consolidate to a single approach
that works across all versions.

Change-Id: Ic68f2386261bae4a4349ad646590cc15c768f04e
2013-08-30 08:00:48 +02:00
ba0a57702c remove OUString wrap for string literals
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-06-29 21:52:54 +00:00
0291994f13 fix debug build on s390x
Change-Id: Ic1d5e98f371727f0c452495d5f9cb40ec73ffe9d
2013-06-22 15:23:27 +02:00
c17f01753c ...and similarly for __cxa_allocate_exception and __cxa_throw
Change-Id: I87ae299aac97180f0587c553d85b051decca155c
2013-06-20 15:59:09 +02:00
5ba3d1740b Clean up declaration of __cxa_get_globals
At least Clang trunk towards 3.4 now rejects incompatible declarations of the
same extern "C" function in different namespaces, so that trick of getting at
the function that is exported by libstdc++ but only rudimentarily if at all
exposed in cxxabi.h no longer worked.

TODO: This change should be reflected in any other bridges where it is relevant,
too.

Change-Id: Ie3ccbdb7d75cc98636d02c0435958532620724f2
2013-06-20 14:02:48 +02:00
e17ab68dbd fix debug build on s390
... by removing obsolete OSL_ENSURE. nVtableCall was renamed to
nFunctionIndex and the same check is done a couple of lines above.

Change-Id: Id52b69adceb337049c50a599aefc718498d688c0
2013-06-16 07:52:31 +02:00
ec2512209d the header file new.h is obsolete on our platforms
(cherry picked from commit 94e277e997d396ae44e4c13c806fa0f461dafd83)

Conflicts:
	sw/source/core/text/portxt.hxx

Change-Id: Ia785878f2b96704fcf858599afba2535b53d6b6f
2013-06-08 16:36:20 +01:00
6b83934749 fix gcc inline assembler operands usage
Apparently whoever did these didn't get the gcc docs and specified
every operand only as input, and then added volatile, explicit
initialization and what not until it worked. Specify output operands
correctly instead.
I couldn't verify all assembler variants, as I don't know them,
but the ones I don't know had at least some proper usage of output
operands, so I'll assume those are all correct.

Change-Id: I2910308b5e00cce8db756496df50ed26cfe35bb6
2013-06-05 16:01:43 +02:00
211544a5f2 Compiling but not working mingw_x86-64 bridges
Change-Id: I5ea6edf367dd18e60a86d12c523b7732a8ac44d4
2013-06-04 15:15:21 +02:00
5bf53717ec Some configury and non-working stubs to start to compiler for Win64 with MinGW
Change-Id: I907c3ea083e8d7f9e48fc62dd6d5b783639438cb
2013-06-04 14:22:03 +02:00
c759d349f2 optimization fix to UNO bridge's callVirtualMethod() for generic x86_64
if the pCallStack variable is optimized out then any assumptions of the
method's inlined assembler about stack layout collapse. Adding a pseudo
dependency to the pCallStack variable solves that problem

(cherry picked from commit 254359b9ed96152091b8f7a74a3442cf6c553e04)

Conflicts:
	bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx
	bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx

Change-Id: I5ba7713c2630bb3ecc4343632e796c38541bcd0e
2013-05-29 10:03:27 +01:00
c95999782e Bypass the type_info generation when using libc++ for gcc3_macosx_intel, too
(It causes linker errors, type_info destructor not found and a few
others. Possibly this is a bug in Apple's libc++abi?)

Change-Id: I50bc97c8e061ff47d4ff16f31d37cfe3b4f5a010
2013-05-28 19:10:21 +03:00
b0a1666f75 Bypass dynamic type_info generation for now when using libc++
The type_info crack is even harder in the libc++ (with Clang, on OS X)
case, sigh. Punt for now and let's see what happens...

Change-Id: I17c3a4d9d933acfbf554649c9ec8b6fb5213f2f0
2013-05-28 17:04:59 +03:00
d77d01b84a add some documentation links to the assembler needed for the UNO bridges
ceterum censeo: good old C-linkage interoperability would be much more robust,
reliable and easier to maintain compared to the current UNO-bridges approach
of emulating the behaviour of the individual compiler, linker, dylib, unwind, etc.
environments and thus being extremely platform specific. What an incredible waste
of energy for little (if any) gain. SCNR.
(cherry picked from commit c9fe5d026f2081d493a198a33cf3b1d558166965)

Conflicts:
	bridges/source/cpp_uno/gcc3_freebsd_x86-64/call.s

Change-Id: I728bce449e8e56572f31b50fb1452d1c2f9d7fea
2013-05-09 15:54:23 +01:00
62badf3828 Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
eeaa2ecd1e remove unused component_canUnload functions
Change-Id: Id3f41e2a620c47bb848718d0fc994739be2d64fc
2013-04-19 16:52:03 +02:00
06f53420f6 fdo#60724 convertable -> convertible
Change-Id: I6a742f41305c2b4bd9a60aa3a574f6c02fec4752
2013-04-15 05:41:26 +02:00