summaryrefslogtreecommitdiff
path: root/sal
AgeCommit message (Collapse)Author
2016-01-11PCH support on LinuxAshod Nakashian
Fixes and improvements to support Precompiled Headers on Linux. Change-Id: I8145c146b0dba56c7a4d0fdf9c330164b67ada53 Reviewed-on: https://gerrit.libreoffice.org/21307 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10Fix typosAndrea Gelmini
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-08cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: If1ddb112c85f127295eb55566360b066e7173ba2 Reviewed-on: https://gerrit.libreoffice.org/21245 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-01-07loplugin:nullptrStephan Bergmann
Change-Id: I8c1ef744be34eea2130b458ed3a09d90804219cc
2016-01-07loplugin:nullptrStephan Bergmann
Change-Id: I9b12524ddbe3cd26800af53415fa593984f2b816
2016-01-06tdf#39631 - branch hints: comment, and tweak variously, also use.Michael Meeks
Find a few million mis-predicted branches (according to callgrind) and annotate them. Mark string acquire/release as hot, and a number of deprecated methods as cold. Change-Id: I678b3981794221c97f9ebb70fd0161c0fda5dceb
2015-12-20sal: replace a list with vectorMichael Stahl
std::stable_sort requires random access iterators, which std::list does not provide, so this is not actually supposed to work, but strangely does. But there's no reason why this couldn't be a vector. Change-Id: I98ec5c28204d01a7352d15ed783748fc17bd8105
2015-12-17OString/OUString: move constructors and operator=Noel Grandin
Change-Id: Icdc5f7137cca8360f116d5d4c7b0bf4a4c526e1d Reviewed-on: https://gerrit.libreoffice.org/20712 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-12-15Use %tx to print ptrdiff_t.Damjan Jovanovic
Patch by: me (cherry picked from commit 7d41b0a9559a388fe558cf7e8d81e4909a785af3) Change-Id: I5e087de043bf454268e4a3ccf24d9e25de3735ee
2015-12-15Use %p to print pointers in sal backtraces..Damjan Jovanovic
instead of 0x%x + conversion to integer. Patch by: me (cherry picked from commit 25f185144085ebe06405a5d8f19a11544ed7f794) Change-Id: I49197aed7bc2dc92a4b54d9aa6a7dce95ebadcfb
2015-12-10More loplugin:nullptr automatic rewrite (within templates)Stephan Bergmann
Change-Id: I9bc06cfb5eeb38fd7ae7fb25f876ea9f96e4a65a
2015-12-04Fix includeStephan Bergmann
Change-Id: I8dd2624cf70dbb34f6fe0a1744c3266dcef07198
2015-12-04Missing includeStephan Bergmann
Change-Id: I97c7a1c3c8a1dca0227477b54c4ce17530bd6b33
2015-12-02sal: add SAL_DEBUG_TRACE debugging API for Windows, with UNX stub.Michael Meeks
Change-Id: I2fdbc2ac10f483eee154bdf69479ba217a91ef7f Reviewed-on: https://gerrit.libreoffice.org/19605 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-12-02Adapt new/delete exception specs for MSVCStephan Bergmann
...where plain operator new/delete are reportedly predefined (cf. <www.geoffchappell.com/studies/msvc/language/predefined/index.html>) without any exception specs, then redeclared in C:/PROGRA~2/MICROS~1.0/VC/include/new with exception specs that are ignored by MSVC (so it presumably doesn't even complain about the mismatching redeclarations, just effectively ignores them); and array operator new/delete are declared in C:/PROGRA~2/MICROS~1.0/VC/include/crtdbg.h without any exception specs. clang-cl would warn about those inconsistencies. Change-Id: I4dd15e4cfcedc3de5e8617b43769b5371cafa71f
2015-12-02Fix quotingStephan Bergmann
Change-Id: I4a4a7c4a1596837c2f221d856228d7d26482ede3
2015-11-30Fix Mac buildStephan Bergmann
Change-Id: I3ec80e4a64c98b97ab3157dd37614a7c56802d79
2015-11-30fix the value of FRAME_PTR_OFFSETDamjan Jovanovic
in backtrace.c and diagnose.c - it's 3 because of the EBP/RBP register's position in the jmp_buf (https://github.com/freebsd/freebsd/blob/master/lib/libc/amd64/gen/_setjmp.S and https://github.com/freebsd/freebsd/blob/master/lib/libc/i386/gen/_setjmp.S). Patch by: me (cherry picked from commit 87451f66edfa425e51289ac6f12ee110d7109a02) Change-Id: I5f18cd9145f90db351c124c6f914411f1ffc2a83
2015-11-30Use the ptrdiff_t printf format code for backtracing on FreeBSD.Damjan Jovanovic
Patch by: me (cherry picked from commit e0e462a3e64576be14a4341f4dc4a2d56f22fa2a) Change-Id: I1c59b2b631dbfd508d85abb774f27187ded47c17
2015-11-30i66807 - Fix GCC warning in backtrace.cPedro Giffuni
The Bugzilla issue has another fix for sparc but I have no way ot test it. (cherry picked from commit 24e9542bcfaec3b49e5e825bf36d4bf524d69080)
2015-11-30Fix the stack frame layout for backtraces on FreeBSD.Damjan Jovanovic
Patch by: me (cherry picked from commit 0faee39deac292694d036d753b7dc1c4513e045f)
2015-11-25loplugin:unusedfields variousNoel Grandin
Change-Id: I59d9f7f73677358b4ae57efda965d43718bdf0d5
2015-11-24cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: I1934441858baeeb41a46f694dbcef2d846b308b7
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