summaryrefslogtreecommitdiff
path: root/sal
AgeCommit message (Collapse)Author
2015-11-17Don't assume sal_Unicode is unsigned shortStephan Bergmann
Change-Id: I27da462b553ef11e9d9ce7873e8fedc3af8c6041
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-13cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: Ife26f55c28c4631aec4ba4105225bfca72da8bff
2015-11-13-Werror,-Wunused-const-variableStephan Bergmann
Change-Id: I3ef314594b64a54aca389816fd9bf5ba0721b397
2015-11-12-Werror,-Wunused-functionStephan Bergmann
Change-Id: Ic12b2914b4f39a96d1455dc280c97d64639b9849
2015-11-12-Werror,-Wextern-initializerStephan Bergmann
Change-Id: I334c0a5004fa417f1cb3b1e768988644c712be7f
2015-11-12-Werror,-Wincompatible-pointer-typesStephan Bergmann
Change-Id: If126707fe637917a5f73950c751a97c30ad2e692
2015-11-12-Werror,-Wparentheses-equalityStephan Bergmann
Change-Id: I1c85127f02697d39f17d4d5f52cb997352886701
2015-11-12-Werror,-Wunused-functionStephan Bergmann
Change-Id: I7fd09e4595be82ebd292042b09cc4c3e96b59d66
2015-11-12-Werror,-Winconsistent-dllimportStephan Bergmann
> sal/systools/win32/uwinapi/legacy.c(21,14) : error: 'GetShortPathNameW' redeclared without 'dllimport' attribute: previous 'dllimport' ignored [-Werror,-Winconsistent-dllimport] > DWORD WINAPI GetShortPathNameW(LPCWSTR lpszLongPath,LPWSTR lpszShortPath,DWORD cchBuffer) > ^ > C:/PROGRA~2/WI3CF2~1/8.1/include/um\fileapi.h(780,1) : note: previous declaration is here > GetShortPathNameW( > ^ > C:/PROGRA~2/WI3CF2~1/8.1/include/um\fileapi.h(776,1) : note: previous attribute is here > WINBASEAPI > ^ > C:/PROGRA~2/WI3CF2~1/8.1/include/shared\apisetcconv.h(22,20) : note: expanded from macro 'WINBASEAPI' > #define WINBASEAPI DECLSPEC_IMPORT > ^ > C:/PROGRA~2/WI3CF2~1/8.1/include/um\winnt.h(175,36) : note: expanded from macro 'DECLSPEC_IMPORT' > #define DECLSPEC_IMPORT __declspec(dllimport) > ^ Change-Id: Ifb0d3179bca9da192afc0af4e731a799f6d392b2
2015-11-12Work around Coverity warnings about std::length_errorStephan Bergmann
...escaping from main or being unexpected, in various places, which started when 62dbe2e6eb30660f252b4e2c048f4aecf28e41c6 "Clean up osl_getSystemPathFromFileURL implementation" made osl_getSystemPathFromFileURL (indirectly) call rtl_uString_newConcatAsciiL, which can throw std::length_error. There is no ideal fix for this. "The distinguishing characteristic of logic errors [i.e., incl. std::length_error] is that they are due to errors in the internal logic of the program. In theory, they are preventable." ([std.exceptions]) That means that throwing a logic error is more akin to raising an assert than to throwing some other kind or exception that is intended to be handled by the program. Which in turn means that it would generally be more useful to cause such errors to cause calls to std::abort (and produce a core/backtrace), than to catch and try to somehow handle them. But there appears to be no way to tell Coverity not to emit warnings about uncaught logic errors, and it tends to emit quite a number of them for each signle "root cause," so be pragmatic for now and catch it close to the root. Change-Id: Iee71f50e3304954e9e88f326e0fa2167b6051ca2
2015-11-12Windows header sanitizationAshod Nakashian
Isolation of windows headers using prewin.h and postwin.h headers and making headers dependent on them more self contained. Conversion of TCHAR to WCHAR and LPCTSTR to LPCWSTR etc. and cleanup of unnecessary casts. Change-Id: I7eff5c477d9223a064bfb4d962ff6d61960ee69c Reviewed-on: https://gerrit.libreoffice.org/19901 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-10loplugin:nullptr (automatic rewrite; Mac-specific code)Stephan Bergmann
Change-Id: I4e6979a5c59ee8a6ad1d55484c0c3ad3c32adce6
2015-11-10Fix SAL_W32Stephan Bergmann
Change-Id: I60333e2b0f71c38aa13e6a6665c2a305e6dc08fa
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I1bc6c87fcd6e5e96362623be94c59be216a3b2b8
2015-11-09Prevent += called on temporary O[U]String instancesStephan Bergmann
...found regression e31205f3ec1f941ab5a188bfde6329edf2acc55b "EditUndoRemoveChars::GetStr must return a reference" and dubious code 0e23f7b0839df68d277186b4df54ba391ac3406a "Lets assume this doesn't want to update m_pForcedPrefix->GetText() anyway" in addition to the apparent sillies directly fixed in this commit. Introduces HAVE_CXX11_REF_QUALIFIER. Change-Id: I564e98254fd53c1dd9b34193d7057c59721ee24c
2015-11-06Remove additional empty line from license headerStephan Bergmann
Change-Id: Ic185d7bc3dc6f8a41c71b83d8bfa293ed4236937
2015-11-06rtl::Reference Add move construction/assignmentDaniel Robertson
Add move constructor and appropriately overloaded assignment operator to rtl::Reference, and add basic unit tests for the reference counting of rtl::Reference. Change-Id: Ia7ff5d786bdf3b17709cec06608c91e22379746c Reviewed-on: https://gerrit.libreoffice.org/19762 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-11-06loplugin:stringconstant: elide explicit ctor usage (manually due to macros)Stephan Bergmann
Change-Id: I9d67d5ddb9bf90e1b216a7282774543c9de874c3
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann
Change-Id: I95283ccf78e4ca699e88ea226d38153a8a92845a
2015-11-04Resurrect CppunitTest_sal_osl_getsystempathfromfileurlStephan Bergmann
Change-Id: I41007c46e945f4fe19a6dd197fded9fa503bf8c4 Reviewed-on: https://gerrit.libreoffice.org/19771 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-11-04Handle URLs with query or fragment (or containing NUL chars)Stephan Bergmann
Change-Id: Ib6ba723b59fb5af69b45456a19e1bff085a75c92 Reviewed-on: https://gerrit.libreoffice.org/19775 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-11-04Clean up osl_getSystemPathFromFileURL implementationStephan Bergmann
Change-Id: I2daa355c4a46c4edc73c30185f2b31852351c45f
2015-11-03Solved CID 1338058 and CID 1338057jan iversen
terminated buf correctly before calling printf. This should be done automatically but coverity does not see it. Change-Id: I0bcf8486b27dbfa9f7c49b338bbf483029b523cb Reviewed-on: https://gerrit.libreoffice.org/19751 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2015-11-02Clean up osl_getSystemPathFromFileURL handling of relative //... URLsStephan Bergmann
(i.e., starting with an authority component); treating input starting with a single slash (i.e., starting with an absolute path component) as a relative URL instead of as an absolute pathname would cause e.g. CppunitTest_sal_osl_file to fail Change-Id: Ie340881974c5e9451ab7e0a9bfb21176b8f5666d
2015-11-02Resolve OSLTEST_DECLARE, OSLTEST_DECLARE_UTF8 macrosStephan Bergmann
...and use something more direct than rtl::Uri::decode for the UTF8 case Change-Id: I2f37d371c425dff6b068e3120be485e71b8e9e12
2015-11-02Remove long-unused sal/qa/osl/socket/ test code for goodStephan Bergmann
Change-Id: I2614e6c9f6d0a31866cb9821910da7f3e31377c6
2015-11-02loplugin:stringconstantNoel Grandin
Change-Id: Id051dd984c24fb34dcc89060ed11955fed61fd48
2015-11-02Fix CppunitTest_sal_osl_pipeStephan Bergmann
Change-Id: I8b092d7e5132e2462b7fe9981f81a41543ca8694
2015-10-30Fix osl_getSystemPathFromFileURL URL scheme checkStephan Bergmann
Change-Id: If7737b9eaf11333facd9ae3faf58e36ba76c3b05
2015-10-30sal: loplugin:salboolMichael Stahl
Change-Id: I8fa83df0bf5f6064dcdd3f830769d7626152c7ab
2015-10-30Combine individual gb_Module_add_check_targets, and sortStephan Bergmann
Change-Id: Ia625a33371d2278bd89274ed5ee18acb773810cf
2015-10-30CppunitTest_sal_osl_pipe can be added to gb_Module_add_check_targets nowStephan Bergmann
Change-Id: I13522370b2bd0ea1907660a55a74e830335ca4a4 Reviewed-on: https://gerrit.libreoffice.org/19686 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-10-30Various loplugin clean upStephan Bergmann
Change-Id: I94279c923624021c2420e893aac1aea5b9a802f9
2015-10-28com::sun::star->css in sal,saxNoel Grandin
Change-Id: I24e202b1f8071fe918e4e164b5fa1c08a561cb24 Reviewed-on: https://gerrit.libreoffice.org/19626 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-26Revert "see if including cmath instead of math.h satisfies Android-ARM"Eike Rathke
This reverts commit 6f9e272da724237e52f2f93f235ae78c5344a21a. A f*cking mess. See 1cdf6ade0eeac9515ed88ae0cd802fe119dd4249 Change-Id: Ia66edb96c9c34742300e882c2796870bfd9919d1
2015-10-26see if including cmath instead of math.h satisfies Android-ARMEike Rathke
Change-Id: Ie96f459dfe6d515ac92d89fcf6e6393a35bb97ac
2015-10-26Revert "attempted fix for android build"Stephan Bergmann
This reverts commit c3acead32e1d844b81e3e90c72549281d4bc73a2, now that cc906ec47eaaad247e8fbed5c9e6f3604a8b64c7 "The Android NDK for some reason don't have these math functions in std::" uses all the declarations from <math.h> instead of <cmath>.
2015-10-26Revert "sal: fix Android build"Miklos Vajna
This workaround is not needed after cc906ec47eaaad247e8fbed5c9e6f3604a8b64c7. This reverts commit d366d680cb62a2c5a7246e7290ef74c7e52eb04f.
2015-10-26sal: fix Android buildMiklos Vajna
Similar to 9a93277b869caca4db054385db59fc7b7d541570 (vcl: fix Android build, 2015-03-06), where the Android has a broken C++ library, having some functions in the global namespace instead of the std one. Work around the problem by using the std namespace till it gets fixed on the Android side. Change-Id: I3d423f42b4e8e325beb3661c1780378e5edf962d
2015-10-26The Android NDK for some reason don't have these math functions in std::Tor Lillqvist
Not even if one includes <cmath> instead of <math.h>. So just use the C functions then. Change-Id: Ic8499bc7bcd5c84b6e52e1d5dc799f9f058db816
2015-10-26attempted fix for android buildNoel Grandin
Change-Id: I47e5e3ebbbf55ae1fbbf2df85f9efbdd8bca1322
2015-10-25tdf#39440: fix several warnings reported by cppcheckSerge Krot
Change-Id: I560d28b7cc67740c6479494d0e5aa62d2ac6ffae Reviewed-on: https://gerrit.libreoffice.org/19587 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-10-25replace implementation of rtl_math_expm1() and rtl_math_log1p()Eike Rathke
... with ::std::expm1() and ::std::log1p() of C++11 Change-Id: I0d119958152ea372c136d28705686b44b39015bf Reviewed-on: https://gerrit.libreoffice.org/19588 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-10-24replace implementation of rtl_math_erf() and rtl_math_erfc()Eike Rathke
... with ::std::erf() and ::std::erfc() of C++11 Change-Id: I8ccc86ec4d6d71a92409770fc119f72e7084073a Reviewed-on: https://gerrit.libreoffice.org/19583 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-10-24add delta for double comparisonEike Rathke
Change-Id: I008438a6b1651068165e6a07b16ea0b2e447074f
2015-10-24test oddness of rtl_math_erf() and rtl_math_erfc()Eike Rathke
Change-Id: I12f38d29d1d0b02b8a99977a232646c213ef20e9
2015-10-24unit tests for rtl_math_expm1() and rtl_math_log1p()Eike Rathke
Change-Id: I1b573365d55f6455e892b4b5b98a7090de5caf4c
2015-10-24implement Inf and NaN handling for rtl_math_expm1() and rtl_math_log1p()Eike Rathke
Change-Id: Ie424a6f038107ef8b574d0422efaf49b441c110f
2015-10-24unit tests for rtl_math_erf() and rtl_math_erfc()Eike Rathke
Change-Id: Ia6b025ba9980f0a7b333b2dc4ae708c3a63fca21