path: root/cppu
AgeCommit message (Collapse)AuthorFilesLines
2017-04-28loplugin:cppunitassertequals: cppuStephan Bergmann1-41/+89
Change-Id: I0497e726ca8c75b84acf3a8d177cfe4883ee2517
2017-04-28Remove now-duplicate css::uno::Type operator <<Stephan Bergmann1-11/+0
...was missing from 06c1dc4c09ba816affb8b65e8215bcd56a81df91 "LIBO_INTERNAL_ONLY: printing of css::uno::Reference/Type" Change-Id: Ifb3f8f72bfeb1038f01797aab9afb5f5059f9d5b
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky11-11/+0
Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: Reviewed-by: David Ostrovsky <> Tested-by: David Ostrovsky <>
2017-04-21remove unnecessary explicit linefeeds from end of SAL and OSL log callsNoel Grandin1-2/+2
Change-Id: I3fa363c8e76e6cfb297f4ec346e3f031c09d6fbf Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-04-14update cppunit to 1.14.0Markus Mohrhard1-6/+0
Change-Id: I95fa42f4ef0580734b605df859c1660b29adb8b2 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Markus Mohrhard <>
2017-04-12clang-tidy: readability-else-after-returnNoel Grandin6-83/+66
run it against sal,cppu,cppuhelper I had to run this multiple times to catch all the cases in each module, and it requires some hand-tweaking of the resulting output - clang-tidy is not very good about cleaning up trailing spaces, and aligning things nicely. Change-Id: I00336345f5f036e12422b98d66526509380c497a Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2017-04-04make UNO enums scoped for internal LO codeNoel Grandin2-35/+39
this modifies codemaker so that, for an UNO enum, we generate code that effectively looks like: #ifdef LIBO_INTERNAL_ONLY && HAVE_CX11_CONSTEXPR enum class XXX { ONE = 1 }; constexpr auto ONE = XXX_ONE; #else ...the old normal way.. #endif which means that for LO internal code, the enums are scoped. The "constexpr auto" trick acts like an alias so we don't have to use scoped naming everywhere. Change-Id: I3054ecb230e8666ce98b4a9cb87b384df5f64fb4 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann2-5/+5
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2017-02-23Assert IdContainer's bInit in uno_releaseIdFromCurrentThreadStephan Bergmann2-1/+2
...implying that pLocalThreadId, nRefCountOfCurrentId, pCurrentId are initialized, implying that zero-initializing them during construction isn't necessary. Change-Id: I98399203694edde14abc664a82861ba50dfb357c
2017-02-21loplugin:subtlezeroinit: cppuStephan Bergmann2-2/+2
Change-Id: Ie2bbca4c1d7c4730d4ac655a3711f2b9917face0
2017-02-15Drop :: prefix from std in c*/Tor Lillqvist3-6/+6
Change-Id: If078cda95fa6ccd37270a5e9d81cfa0b84e71155 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tor Lillqvist <>
2017-01-31teach lolugin:stringconstant about calling constructorsNoel Grandin1-2/+2
so we can remove unnecessary calls to the OUString(literal) constructor when calling constructors like this: Foo(OUString("xxx"), 1) Change-Id: I1de60ef561437c86b27dc9cb095a5deb2e103b36 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-01-26Remove dynamic exception specificationsStephan Bergmann2-8/+4
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2017-01-07coverity#704593 Dereference after null checkCaolán McNamara1-1/+1
Change-Id: I5426cb2e8ca1e8fd2e9f38419ffe6d6e148a7cba
2016-12-15teach sallogareas plugin to catch inconsistenciesNoel Grandin2-2/+2
Change-Id: I8bcea5ffc74d48148bea78da8c17744e288c069a Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-12-13OSL_TRACE->SAL in chart2..ooxNoel Grandin2-2/+2
Change-Id: I133a6441824bfbefcfcda130119b5c5d706f86b2 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2016-12-12uno: Add support for targets with 16-bit alignmentJohn Paul Adrian Glaubitz1-5/+31
Despite being a 32-bit architecture, m68k has a basic alignment of 16-bit for historic reasons. On m68k, SAL_TYPES_ALIGNMENT8 is therefore equal to 2 and we need to cover this case in the static asserts as well. Change-Id: I4c756af25d57e5d49209697f6e678ef71a5845aa Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2016-12-07Prevent self-join in ThreadAdmin::joinStephan Bergmann1-1/+5
Depending on timing, it can apparently happen at least during JunitTest_unordf_complex that a cppu_threadpool::ORequestThread having executed a binaryurp::IncomingRequest holds the last binaryurp::Bridge reference: > #2 0x00007fac4ad6bf97 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7fac4b4e8c22 "false", file=file@entry=0x7fac4b4eaec7 "sal/osl/unx/thread.cxx", line=line@entry=443, function=function@entry=0x7fac4b4eaefd "void osl_joinWithThread(oslThread)") at assert.c:92 > #3 0x00007fac4ad6c042 in __GI___assert_fail (assertion=0x7fac4b4e8c22 "false", file=0x7fac4b4eaec7 "sal/osl/unx/thread.cxx", line=443, function=0x7fac4b4eaefd "void osl_joinWithThread(oslThread)") at assert.c:101 > #4 0x00007fac4b4d5258 in osl_joinWithThread(oslThread) (Thread=0x7fabfc0011d0) at sal/osl/unx/thread.cxx:443 > #5 0x00007fac47fbdde5 in cppu_threadpool::ThreadAdmin::join() (this=0x7fac1c0069e0) at cppu/source/threadpool/thread.cxx:89 > #6 0x00007fac47fc23af in cppu_threadpool::ThreadPool::joinWorkers() (this=<optimized out>) at cppu/source/threadpool/threadpool.cxx:179 > #7 0x00007fac47fc35b7 in uno_threadpool_destroy(uno_ThreadPool) (hPool=<optimized out>) at cppu/source/threadpool/threadpool.cxx:499 > #8 0x00007fac25b03b5c in binaryurp::Bridge::terminate(bool) (this=0x7fac24117078, final=true) at binaryurp/source/bridge.cxx:277 > #9 0x00007fac25b0794e in binaryurp::Bridge::dispose() (this=0x7fac24117078) at binaryurp/source/bridge.cxx:904 > #10 0x00007fac25b07215 in binaryurp::Bridge::~Bridge() (this=0x7fac24117078) at binaryurp/source/bridge.cxx:847 > #11 0x00007fac25b07409 in binaryurp::Bridge::~Bridge() (this=0x7fac24117078) at binaryurp/source/bridge.cxx:838 > #12 0x00007fac25b39ee1 in std::default_delete<binaryurp::IncomingRequest>::operator()(binaryurp::IncomingRequest*) const (this=<optimized out>, __ptr=0x7fabfc00ba50) at /usr/lib/gcc/x86_64-redhat-linux/6.2.1/../../../../include/c++/6.2.1/bits/unique_ptr.h:76 > #13 0x00007fac25b38fa8 in std::unique_ptr<binaryurp::IncomingRequest, std::default_delete<binaryurp::IncomingRequest> >::~unique_ptr() (this=0x7fac0bb74ac0) at /usr/lib/gcc/x86_64-redhat-linux/6.2.1/../../../../include/c++/6.2.1/bits/unique_ptr.h:236 > #14 0x00007fac25b36d71 in request(void*) (pThreadSpecificData=<optimized out>) at binaryurp/source/reader.cxx:83 > #15 0x00007fac47fbaa95 in cppu_threadpool::JobQueue::enter(long, bool) (this=<optimized out>, nDisposeId=<optimized out>, bReturnWhenNoJob=<optimized out>) at cppu/source/threadpool/jobqueue.cxx:107 > #16 0x00007fac47fbe1f9 in cppu_threadpool::ORequestThread::run() (this=0x7fabfc001160) at cppu/source/threadpool/thread.cxx:165 > #17 0x00007fac47fbf9ca in threadFunc(void*) (param=0x7fabfc001170) at include/osl/thread.hxx:185 > #18 0x00007fac4b4d5a3c in osl_thread_start_Impl(void*) (pData=0x7fabfc0011d0) at sal/osl/unx/thread.cxx:240 > #19 0x00007fac4ab2a5ca in start_thread (arg=0x7fac0bb75700) at pthread_create.c:333 > #20 0x00007fac4ae420ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 while the main thread is already shutting down: > #19 0x00007fac4b14100f in desktop::Desktop::doShutdown() (this=0x7fff8a6149d0) at desktop/source/app/app.cxx:1783 > #20 0x00007fac4b13f505 in desktop::Desktop::Main() (this=0x7fff8a6149d0) at desktop/source/app/app.cxx:1716 > #21 0x00007fac419a0f79 in ImplSVMain() () at vcl/source/app/svmain.cxx:185 > #22 0x00007fac419a1c14 in SVMain() () at vcl/source/app/svmain.cxx:223 > #23 0x00007fac4b17c773 in soffice_main() () at desktop/source/app/sofficemain.cxx:166 > #24 0x0000000000400916 in sal_main () at desktop/source/app/main.c:48 > #25 0x00000000004008fb in main (argc=<optimized out>, argv=<optimized out>) at desktop/source/app/main.c:47 Change-Id: I34beac40e89f6d522af49f9dcdb3ed2fc1259c4b
2016-11-21Delete the "Any-to-Any" template specializations for LIBO_INTERNAL_ONLYStephan Bergmann4-80/+90
i.e., css::uno::Any function template specializations Any::has<Any>() const Any::get(Any const &) const operator >>=(Any const &, Any &) operator <<=(Any &, Any const &) that don't make much sense (the first is always true, the rest can be replaced with operator =, which additionally supports move semantics). For 3rd-party compatibility, do this only for LIBO_INTERNAL_ONLY, however. However, some generic template code did benefit from operator >>= working also for Any, so make up for that with a new (LIBO_INTERNAL_ONLY, given that operator >>= still covers if fine for !LIBO_INTERNAL_ONLY) fromAny, complementing the existing toAny. Change-Id: I8b1b5f803f0b909808159916366d53c948206a88 Reviewed-on: Reviewed-by: Stephan Bergmann <> Tested-by: Stephan Bergmann <>
2016-10-28Use OUString ctor instead of rtl_uString_newFromAsciiStephan Bergmann1-32/+15
Change-Id: I84ea23c4de5c631fe7d0104944b0b8f0f13abb26
2016-10-28cppu/source/uno/EnvDcp.c -> cppu/source/uno/EnvDcp.cxxStephan Bergmann2-4/+1
Change-Id: Ic02d217efef970a365a584f2558c41561e4c6e3d
2016-09-20cid#1371314: Add move semanticsStephan Bergmann1-0/+10
Change-Id: I995cbdb2b6adc707abe5f1a179e94251641120bc
2016-09-15replace sal_Size with std::size_t (or sal_uInt64 for SvStream pos)Michael Stahl2-3/+3
... 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-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann7-9/+9
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-01std::list<sal_Int64> -> std::dequeNoel Grandin2-4/+3
Change-Id: Ib34d6bf97fc97ea1c30c184a7de4ace7f533065f
2016-09-01::std::list < sal_Int64 > -> std::vectorNoel Grandin2-14/+11
Change-Id: Ia3c3b8dd1fc3c5865ad0642cfa93430b95fae9d2
2016-08-23icopyConstructFromElements's nAlloc is never negativeStephan Bergmann1-39/+19
follow-up to 7fa183cb1a04120b37069c63166182065c3d975c "loplugin:countusersofdefaultparams in chart2..desktop" Change-Id: I099229ac4a3670e26570b083e3b0a4a92984f663
2016-08-19cppu: fix loplugin:cppunitassertequals warningsMiklos Vajna2-27/+27
Change-Id: I1a459954c84290d340a887212fd1f839f4ebe715 Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <>
2016-08-05loplugin:countusersofdefaultparams in chart2..desktopNoel Grandin1-2/+2
Change-Id: Iaca94acd6ef91f07ed0c0085390500c418099dee Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-08-01tdf#100726: Improve readability of OUString concatenationnadith1-3/+1
this bug fixed in the modules between canvas - cppu Change-Id: I2022b022897dafde20251352376e3facdb9b8d75 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-07-11int -> boolStephan Bergmann1-4/+4
Change-Id: I8e8bedcc510a895cda90c9979bf75afca0ea9071
2016-07-04Fix some spelling errors in comments and stringsOtto Kekäläinen1-3/+3
Change-Id: Iecd6b5e13d6be14651f77d8e37f01117ba15a11e Reviewed-on: Reviewed-by: jan iversen <> Tested-by: jan iversen <>
2016-05-31teach refcounting clang plugin about uno::ReferenceNoel Grandin1-2/+9
uno::Reference is only allowed to used with classes that have a ::static_type member. So convert all those places to rtl::Reference. Maybe we need some LIBO_INTERNAL_ONLY constructors on rtl::Reference and uno::Reference to make this a little smoother? Change-Id: Icdcb35d71ca40a87b1dc474096776412adbfc7e3 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-05-30Some clean up of uses of css::uno::Any::setValueStephan Bergmann1-5/+3
Change-Id: I04e8aef35a6083b61d775c8eb3f96757da2b31bd
2016-05-18clang-tidy modernize-make-sharedNoel Grandin1-1/+1
Change-Id: I3fa866bfb3093fc876474a9d9db29fe05dc2af3a Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-05-10Replace fallthrough comments with new SAL_FALLTHROUGH macroStephan Bergmann1-1/+1
...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in preparation of enabling -Wimplicit-fallthrough. (This is only relevant for C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.) Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but that would require adding back in dependencies on boost_headers to many libraries where we carefully removed any remaining Boost dependencies only recently. (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its future evolution will not have any impact on the stable URE interface.) C++17 will have a proper [[fallthroug]], eventually removing the need for a macro altogether. Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
2016-05-10Insert explicit "break" when falling through to empty next caseStephan Bergmann1-1/+2
...which itself only contains a "break" (or nothing at all at the end of the "switch"), as otherwise Clang -Wimplicit-fallthrough would warn about these. Change-Id: I25c1cf2ca74dfeba7ca0385ca8f1c1bf30bbf91b
2016-05-06cppu: replace boost::is_same with std::is_sameMichael Stahl1-5/+5
Change-Id: I7014737403da4b53b83488d17399b1c214b7a5db
2016-05-03Handle wchar_t as native C++11 type on windowsDavid Ostrovsky1-60/+0
The option /Zc:wchar_t- prevented to use wchar_t as a built-in type according to the C++ standard. In Visual C++ 6.0 and earlier, wchar_t was not implemented as a built-in type, but was declared in wchar.h as a typedef for unsigned short. Now, years later after the end of life this outdated toolchain, there is no reason not to use native type. The only issue could be the ABI compatibility. But on a quick look at least, it looks like none of the mangled C++ symbols in the stable URE interface actually depend on wchar_t. We forgot to get rid of /Zc:wchar_t- in 5.1. Do that for LibreOffice 5.2, though. Change-Id: I8d6b380660859efa44c83c830734978d31d756a0 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2016-05-01tdf#97499 Fixed containers parameters clearing #8tymyjan1-1/+1
Change-Id: I82ca89ac483e9742be0d38a3c6882a240c7c38d8 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Markus Mohrhard <>
2016-04-25Cannot extract Any to sal_uInt32Stephan Bergmann1-84/+0
...which has the same underlying type as sal_Bool Change-Id: Ief5a9b9a4d286488efe6e67ee72e7cc23d6f4075
2016-04-21loplugin:salbool: sal_Bool[] -> bool[]Stephan Bergmann1-13/+13
Change-Id: I3c5bf7a53c9ae173f8fce885ecf022f092aa43a9
2016-04-21clang-tidy modernize-loop-convert in c*Noel Grandin1-2/+2
Change-Id: I77d2548f8be97792660761e6156cd24734a95aaf
2016-04-20loplugin:salbool: Automatic rewrite of sal_False/TrueStephan Bergmann8-46/+46
Change-Id: I47acc5590a935c7f9089231efbb1319664942f16
2016-04-20Use cast to bool to normalize sal_Bool valuesStephan Bergmann3-7/+7
Change-Id: I8a886f752d2a16ec4c10656bcd0b3631647971b2
2016-04-18clean-up: unused using declarations and includesJochen Nitschke1-2/+0
Searched source for using declarations. Checked if those symbols reappear in the source file, even in comments or dead code but not in #include statements. If they don't reappear, remove the declaration. Remove includes whose symbol got removed. Change-Id: Ibb77163f63c1120070e9518e3dc0a78c6c59fab0 Reviewed-on: Reviewed-by: Jochen Nitschke <> Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2016-04-08tdf#94306 replace boost::noncopyable in cppuhelperJochen Nitschke2-4/+8
and related modules. Replace with C++11 delete copy-constructur and copy-assignment. Change-Id: I18aa9fe4ff696f9b5472cbe4cd0097cb174618b7 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Stahl <>
2016-04-04tdf#97499 Fixed containers parameters clearing #4tymyjan1-2/+1
Change-Id: I7c96181399f4d7e62d4aceca404b22d68f903513 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-04-01tdf#97966 Drop 'static' keywordsWastack1-3/+3
Including no keywords from extern "C" blocks Change-Id: I18ddafbf3d41f6779fb43e36ba1f1c48b37757a0 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2016-04-01loplugin:staticanonymousStephan Bergmann1-2/+2
Change-Id: I1a96ef6bff7a99ab46f7c88722426cba48b46c81