Commit Graph

165 Commits

Author SHA1 Message Date
596334776a Remove RTL_CONST* macros from codemaker - pt1
For more easy review, this is the first part of these changes.

More will come :)

Change-Id: Ic6ab0c7baebf0414dbcccb5dcfad434b3b07964c
Reviewed-on: https://gerrit.libreoffice.org/2595
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-03-08 13:02:22 +00:00
75e6856b08 fdo#57950: Remove chained appends in codemaker
And another cleanups like removing RTL_CONST* macros and other simple
things.

Much more can be done inside codemaker.

Change-Id: I338e1c0e88558124741c6202896355533535a129
Reviewed-on: https://gerrit.libreoffice.org/2583
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-03-08 04:31:03 +00:00
c98a1fa048 make the UNO generated catch clauses use const modifier
Change-Id: I2c9cdff2aeb97c8b9740aba91990e27315d5c85b
2013-03-07 08:23:41 +02:00
405caad685 loplugin: unused variables
Change-Id: I46a748bf2c54d15c0f5718901197f3b4c34b82bf
2013-02-25 03:14:00 +01:00
f1bca26afc Remove redundant braces around for loops
...that had once been workarounds for compilers that did not yet support the
C++98 scoping rules for declarations in for-init-statements.

Change-Id: I51dc42982b30bf3adea6de1a10a91c0b4b4acfbe
2013-01-26 16:36:09 +01:00
2848788ec7 No reason to turn "throws nothing" specifications into comments
...as had been done in 0295bd6b3f21dd648af6145ca23d90467f3cec73 "Remove
exception spec from idl-generated c++ headers."

Change-Id: I1b900a91be6db6cb4d7b60759e844117aa6b027d
2012-12-03 17:47:36 +01:00
eb0cfb3bf2 cppumaker: do write exception specifications on --enable-dbgutil
Exception specifications are useless for production code, but make
for useful assertions in dbgutil builds (on platforms where they
are enforced at runtime).

Because we do not have API tests that exhaustively trigger all
documented error conditions, much less the undocumented or wrongly
handled error conditions that would cause the implementation to violate
its API specification, there is likely some benefit in having these
runtime-checked specifications in debug builds, in the hope that our
various tests which may incidentally call various API methods, or
general soffice usage, uncovers these bugs.

Also, there may be some benefit to making API implementers more
aware of the exception specifications, to quote Stephan's mail:

 To be able to programmatically react to an exception raised by a UNO
 method (which is the raison d'être of non-runtime UNO exceptions), the
 specification of that method must document the method's behavior with
 respect to raising that exception, and any implementation of the method
 must adhere to that specification.  However, with that part of a UNO
 method's interface moved out of sight of a programmer writing a C++
 implementation of that method, I fear that adherence to specification
 will degrade in practice.  And that negatively affects an area where we
 do not shine anyway: reaction to errors.

This partially reverts commits:
0295bd6b3f21dd648af6145ca23d90467f3cec73
155cd09b5eebe0c1eab0610a7f1f04f09de4b217

Change-Id: I9c7664c9f1b238f4f9501aacb065981236949440
2012-12-02 20:58:32 +01:00
dda524a711 Prettify cppumaker output.
Don't use extra-verbose RTL_CONSTASCII_USTRINGPARAM anymore. Write
nicer nullary method prototypes.

Change-Id: I1efdd6edd624c32852f47e5d2b266e90536b917b
2012-11-29 16:49:52 +01:00
155cd09b5e Remove some commented-out or otherwise unused code. 2012-11-29 16:49:52 +01:00
0295bd6b3f Remove exception spec from idl-generated c++ headers.
The general agreement in the project is that c++ exception
specs are pointless and add bloat in production code.

See also this rant for more background:
  http://drdobbs.com/cpp/184401544

This removes the code that generates the exception specs on the
generated c++ headers, and fixes up the few places that broke
subsequently because of widening exception specs, which in turn
was due to the rather unfortunate decision to not have a virtual
dtor in XInterface.

Change-Id: I60db26e1cc4d4fe6eeef5975e39497841e92588a
2012-11-29 16:49:51 +01:00
625e173aaf OUString::replace() does not replace in-place
Change-Id: I5a1d713ee8e9c913adad57b7d8fb0597f96a2db4
2012-11-28 20:08:20 +02:00
44ea5d1414 Adding SAL_DEPRECATED_INTERNAL to an implementation function is pointless
...as there are typically no direct calls to it anyway.  What is apparently
needed is to decorate the cppumaker-generated headers instead:

* cppumaker obtains deprecation-information from the documentation strings in
  .rdb files.  As these are normally generated by idlc without documentation
  included (no -C), idlc got changed to nevertheless contain documentation
  consisting of just "@deprecated" in this case, to allow to easily tunnel this
  information to cppumaker always.

* The mechanism of parsing for "@deprecated" in documentation strings is
  somewhat crude, of course.

* For now, cppumaker only decorates C++ functions that correspond to UNOIDL
  interface attributes and methods.  More should be possible (but, e.g., being
  able to decorate a complete C++ class corresponding to a deprecated UNOIDL
  interface type depends on whether all platforms would accept
  SAL_DEPRECATED_INTERNAL at the same position in a C++ class declaration.

* This could also be extended to other languages than C++/cppumaker.

* Always using SAL_DEPRECATED_INERNAL instead of SAL_DEPRECATED for decoration
  is to keep things simple and our codebase working.  Improvements are possible
  here, too, of course.

Change-Id: Ia2917892f780d477652e4cd9f286588a6898c3f5
2012-11-23 14:04:51 +01:00
fe347327a4 loplugin: unused aName string and whacky indent
Change-Id: I3febbc1618ca86f19c851a8eea313327a9c0a96c
2012-10-26 12:41:37 +01:00
06d51d2790 Revert "For some reason saxparser aborts for me without this"
Not needed now when we always generate comprehensive UDKAPI headers in
the configuration where I thought the reverted change helped (it
actually didn't).

This reverts commit 73c3907bce33c07ef78c0bb9ff1e0df8b9fbb323.

Change-Id: Iabbfec9b8e9d6963b31daa52dc574bed01d9eb4c
2012-10-07 08:25:32 +03:00
73c3907bce For some reason saxparser aborts for me without this
This is in a Mac build tree using the 10.7 SDK and latest Xcode Clang.

This codemaker-generated type stuff seems awfully fragile. Should we
just bite the bullet and do the "comprehensive" thing for all UDKAPI
types all the time on all platforms? Is that a sane question to ask?

Change-Id: I9d17e76a83ff71898409179acb445832436f7bbd
2012-10-06 23:13:39 +03:00
8e995db6a2 sal_Bool->bool in codemaker
Change-Id: Icea58e7c1dea14f524d6a8d479b7d85e79d6266b
2012-10-04 21:29:34 +02:00
a73656244f Add css.reflection.XTypeDescriptionEnumerationAccess to the bootstrap types
Needed for some unknown reason in a 64-bit Mac LO. Doesn't do any harm
to have it included everywhere.

Change-Id: I62ae599692bb922678caabe78b7e1c0588573bb2
2012-09-28 10:08:22 +03:00
543158edba Require XComponentContext.getServiceManager to throw instead of returning null
This is such a fatal error that there is probably no point in trying to handle
it, so allow to simplify client code by removing the requirement to check for a
null return value.

Simplified some client code accordingly (modules configmgr and ure, and the code
generated by cppumaker and javamaker).

Change-Id: I51c0b270ec73409374f7439a47ee061407a46e31
2012-09-17 16:59:53 +02:00
c91e2cae54 re-base on ALv2 code. 2012-06-12 22:24:54 +01:00
b674453066 XInterfaceTypeDescription missing from isBootstrapType
...it is base of XInterfaceTypeDescription2 (included in isBootstrapType), which
ultimately caused uno-skeletonmaker to crash.

Change-Id: I17421f58efd9edd4112532a3221125865cc5560e
2012-06-07 14:36:05 +02:00
f7ebee38a3 removed dead code
Change-Id: I02e535f0a0e55446e5a29297c2d05b1503805e71
2012-06-06 00:59:23 +09:00
f3653d3c1e gbuild conversion: codemaker module 2012-04-14 06:58:00 -05:00
55823d331e replace APP?RPATH SDK by SDKBIN in old build system
Commit 0c80ad06fd96a4fec062a7edfff12bb65ef204b4 broke MacOS X builds
because of this discrepancy. It would be easy to accept both, but I
think it is better to be consistent with gbuild.
2012-04-14 07:22:15 +02:00
d6bc02f8c4 Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operator 2012-04-06 20:03:42 +02:00
66a88dc17e UNO BYTE is signed
This is hopefully a better fix for c589fa17b8f3e6ded0d1e04120781eb5d6735bc7
"Dalvik enforces byte constants being in range (-128..127)."
2012-03-29 12:07:36 +02:00
6e67c03dc0 Enable -Wnon-virtual-dtor for GCC 4.6
...which has the necessary features to support it.

Change a lot of classes to either contain a protected non-virtual dtor
(which is backwards compatible, so even works for cppumaker-generated
UNO headers) or a public virtual one.

cppuhelper/propertysetmixin.hxx still needs to disable the warning, as
the relevant class has a non-virtual dtor but friends, which would still
cause GCC to warn.

Includes a patch for libcmis, intended to be upstreamed.
2012-03-14 13:32:02 +01:00
b57a1f2f4d Reduce verbiage slightly 2012-02-16 15:25:38 +02:00
0439af27e1 Code cleanup: ( () ) replaced by (()) 2012-01-26 17:41:07 +00:00
7c704c78d3 Removed some unused parameters; added SAL_UNUSED_PARAMETER.
SAL_UNUSED_PARAMETER (expanding to __attribute__ ((unused)) for GCC)
is used to annotate legitimately unused parameters, so that static
analysis tools can tell legitimately unused parameters from truly
unnecessary ones.  To that end, some patches for external modules
are also added, that are only applied when compiling with GCC and
add necessary __attribute__ ((unused)) in headers.
2012-01-21 15:21:16 +01:00
df68f63f0b Leak comprehensive type descriptions to avoid problems at exit. 2012-01-03 13:52:16 +01:00
93d2a2eb4d tabs -> spaces 2012-01-02 19:02:10 +01:00
dee53a32a9 Temporary hack around cppu_detail_getCppuType variants violating ODR.
Which causes cppuhelper to pick wrong variant from other library, now that its own
symbols are no longer reduced to private on Mac OS X.  As a temporary hack, emit
cppu_detail_getCppuType for the relevant types always as fully comprehensive; should
be revisited when improving types.rdb format (routinely generating C++ information
for certain UNO types into a dedicated library?).  Requires a fix to xmlreader and
a fix to forms that looks like a Mac OS X GCC bug.
2012-01-02 15:33:14 +01:00
fd866ac8f1 Fix for fdo43460 Part VI getLength() to isEmpty()
Part VI
Module
codemaker
2011-12-13 00:40:14 +04:00
d8ed87481c remove include of pch header in codemaker 2011-11-27 12:59:38 -06:00
b5ec39a65e Make .hpp/.hdl more robust against accidental include of .hdl instead of .hpp.
.hdl failed to declare the inline cppu_detail_getUnoType functions defined in
.hpp, which if client code only includes .hdl instead of .hpp could lead to
runtime failures, now leads to compiler warnings.
2011-11-02 17:25:37 +01:00
5d2c125d90 cppcheck scope reduction in codemake/... cpputype.cxx 2011-10-07 15:57:39 +02:00
9fa483cf7b No point building build-time executables for iOS 2011-06-13 02:43:35 +03:00
1c33dd6d01 Interfaces are recursive into themselves 2011-06-01 15:35:10 +01:00
1a115037dd add polymorphic support 2011-06-01 15:35:09 +01:00
7a69e30f96 use rtl_Instance for the auto-generated local statics 2011-06-01 15:35:09 +01:00
35e1b53c7e Remove OS/2 support. 2011-04-18 16:59:48 +02:00
4be7cca60b Merge commit 'ooo/DEV300_m103'
Conflicts:
	codemaker/source/bonobowrappermaker/corbaoptions.cxx
	codemaker/source/cppumaker/cppuoptions.cxx
	codemaker/source/cunomaker/cunooptions.cxx
	codemaker/source/idlmaker/idloptions.cxx
	codemaker/source/javamaker/javaoptions.cxx
	cppu/source/typelib/typelib.cxx
	idlc/source/options.cxx
	offapi/com/sun/star/util/PathSubstitution.idl
	offapi/drafts/com/sun/star/form/ListEntryEvent.idl
	offapi/drafts/com/sun/star/form/XBindableValue.idl
	offapi/drafts/com/sun/star/form/XListEntryListener.idl
	offapi/drafts/com/sun/star/form/XListEntrySink.idl
	offapi/drafts/com/sun/star/form/XListEntrySource.idl
	offapi/drafts/com/sun/star/form/XValueBinding.idl
	registry/tools/checksingleton.cxx
	registry/tools/options.hxx
	registry/tools/regcompare.cxx
	registry/tools/regmerge.cxx
	sal/cppunittester/cppunittester.cxx
	sal/osl/unx/socket.c
	sal/osl/w32/diagnose.c
	sal/prj/d.lst
	sal/rtl/source/alloc_fini.cxx
	sal/rtl/source/alloc_global.c
	sal/rtl/source/makefile.mk
2011-03-23 16:59:59 +01:00
933e22880b Remove "using namespace ::rtl" 2011-03-02 21:53:12 +01:00
228e4d2915 jsc340: i114847: fix name 2011-02-24 10:51:05 +01:00
31ca64f91e Remove double line spacing and correct indentation 2011-01-29 15:39:11 +01:00
4a0b1361e3 use RTL_CONSTASCII_USTRINGPARAM 2011-01-04 13:39:08 +00:00
a715e1b3d0 Add vim/emacs modelines to all source files
Fixes #fdo30794
Based on bin/add-modelines script (originally posted in mail
1286706307.1871.1399280959@webmail.messagingengine.com)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-10-14 17:04:31 +02:00
f3de0f63df jsc340: i14847: clean up cmdline help fo devtools 2010-10-01 14:20:45 +02:00
7c80db2eb3 changefileheader2: #i109125#: change source file copyright notice from Sun Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision) 2010-02-12 15:01:35 +01:00
50f9ae5a90 CWS-TOOLING: integrate CWS sb109
2009-04-21 13:42:45 +0200 sb  r271035 : removed obsolete psprint dependency
2009-04-21 10:33:31 +0200 sb  r271024 : changes to previous -c270971 so that build does not break for USE_SHELL!=bash (but instead resulting bridgetest_xxx scripts are nonfunctional)
2009-04-21 08:56:48 +0200 sb  r271017 : merged in cws/sb107 -c 268250 (avoid warnings about format specifier and argument mismatch (on 64bit debug builds))
2009-04-20 16:42:27 +0200 sb  r270995 : #i98625# add make_xxx functions for C++ representations of UNO polystructs; fixed and adapted tests (patch by thb, slightly adapted)
2009-04-20 14:23:45 +0200 sb  r270981 : #i84751# selective performance improvements (patch by mmeeks, slightly adapted)
2009-04-20 13:39:50 +0200 sb  r270978 : #i99711# removed dead code (patch by cmc, slightly modified)
2009-04-20 11:59:39 +0200 sb  r270972 : #i97975# avoid crashes during shutdown (patch by cmc, slightly modified)
2009-04-20 11:57:52 +0200 sb  r270971 : made tests work again after LD_LIBRARY_PATH clean up
2009-04-20 09:49:32 +0200 sb  r270963 : #i95593# made tests work again after LD_LIBRARY_PATH cleanup
2009-04-17 13:52:33 +0200 sb  r270941 : merged in cws/sb107 -c 270023 (added svn:ignore)
2009-04-15 13:46:24 +0200 sb  r270841 : #i92131# dead code elimination (based on a patch by cmc)
2009-04-15 13:29:27 +0200 sb  r270839 : #i100743# use a FastLess for the Data map (based on a patch my mmeeks)
2009-04-15 13:12:11 +0200 sb  r270837 : #i100583# dead code elimination (patch by cmc)
2009-04-15 13:02:19 +0200 sb  r270835 : avoid bogus Solaris C++ compiler warning when building with debug=x
2009-04-15 11:49:46 +0200 sb  r270828 : adapted to cleared LD_LIBRARY_PATH
2009-04-15 10:49:48 +0200 sb  r270826 : #i101101# for performance reasons, do not put ComponentContext in unsafe appartment
2009-04-15 10:08:20 +0200 sb  r270824 : #i99113# removed duplicated stocservices.uno lib from basis layer
2009-04-28 18:00:14 +00:00