summaryrefslogtreecommitdiff
path: root/sal
AgeCommit message (Collapse)AuthorFilesLines
2015-12-20sal: replace a list with vectorMichael Stahl1-2/+1
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 Grandin1-1/+1
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 Jovanovic1-2/+2
Patch by: me (cherry picked from commit 7d41b0a9559a388fe558cf7e8d81e4909a785af3) Change-Id: I5e087de043bf454268e4a3ccf24d9e25de3735ee
2015-12-15Use %p to print pointers in sal backtraces..Damjan Jovanovic1-3/+3
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 Bergmann1-2/+2
Change-Id: I9bc06cfb5eeb38fd7ae7fb25f876ea9f96e4a65a
2015-12-04Fix includeStephan Bergmann1-1/+1
Change-Id: I8dd2624cf70dbb34f6fe0a1744c3266dcef07198
2015-12-04Missing includeStephan Bergmann1-0/+2
Change-Id: I97c7a1c3c8a1dca0227477b54c4ce17530bd6b33
2015-12-02sal: add SAL_DEBUG_TRACE debugging API for Windows, with UNX stub.Michael Meeks5-1/+107
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 Bergmann1-2/+8
...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 Bergmann1-2/+2
Change-Id: I4a4a7c4a1596837c2f221d856228d7d26482ede3
2015-11-30Fix Mac buildStephan Bergmann1-4/+2
Change-Id: I3ec80e4a64c98b97ab3157dd37614a7c56802d79
2015-11-30fix the value of FRAME_PTR_OFFSETDamjan Jovanovic1-1/+1
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 Jovanovic1-10/+4
Patch by: me (cherry picked from commit e0e462a3e64576be14a4341f4dc4a2d56f22fa2a) Change-Id: I1c59b2b631dbfd508d85abb774f27187ded47c17
2015-11-30i66807 - Fix GCC warning in backtrace.cPedro Giffuni1-1/+9
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 Jovanovic1-2/+0
Patch by: me (cherry picked from commit 0faee39deac292694d036d753b7dc1c4513e045f)
2015-11-25loplugin:unusedfields variousNoel Grandin2-3/+0
Change-Id: I59d9f7f73677358b4ae57efda965d43718bdf0d5
2015-11-24cppcheck: noExplicitConstructorCaolán McNamara2-10/+10
Change-Id: I1934441858baeeb41a46f694dbcef2d846b308b7
2015-11-17Don't assume sal_Unicode is unsigned shortStephan Bergmann1-1/+2
Change-Id: I27da462b553ef11e9d9ce7873e8fedc3af8c6041
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian1-70/+30
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 McNamara2-2/+2
Change-Id: Ife26f55c28c4631aec4ba4105225bfca72da8bff
2015-11-13-Werror,-Wunused-const-variableStephan Bergmann1-0/+2
Change-Id: I3ef314594b64a54aca389816fd9bf5ba0721b397
2015-11-12-Werror,-Wunused-functionStephan Bergmann1-0/+2
Change-Id: Ic12b2914b4f39a96d1455dc280c97d64639b9849
2015-11-12-Werror,-Wextern-initializerStephan Bergmann1-1/+1
Change-Id: I334c0a5004fa417f1cb3b1e768988644c712be7f
2015-11-12-Werror,-Wincompatible-pointer-typesStephan Bergmann1-1/+1
Change-Id: If126707fe637917a5f73950c751a97c30ad2e692
2015-11-12-Werror,-Wparentheses-equalityStephan Bergmann1-1/+1
Change-Id: I1c85127f02697d39f17d4d5f52cb997352886701
2015-11-12-Werror,-Wunused-functionStephan Bergmann1-6/+0
Change-Id: I7fd09e4595be82ebd292042b09cc4c3e96b59d66
2015-11-12-Werror,-Winconsistent-dllimportStephan Bergmann1-1/+1
> 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 Bergmann1-2/+8
...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 Nakashian5-189/+189
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 Bergmann7-31/+31
Change-Id: I4e6979a5c59ee8a6ad1d55484c0c3ad3c32adce6
2015-11-10Fix SAL_W32Stephan Bergmann1-0/+4
Change-Id: I60333e2b0f71c38aa13e6a6665c2a305e6dc08fa
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann99-5979/+5979
Change-Id: I1bc6c87fcd6e5e96362623be94c59be216a3b2b8
2015-11-09Prevent += called on temporary O[U]String instancesStephan Bergmann1-2/+8
...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 Bergmann1-1/+0
Change-Id: Ic185d7bc3dc6f8a41c71b83d8bfa293ed4236937
2015-11-06rtl::Reference Add move construction/assignmentDaniel Robertson3-0/+135
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 Bergmann1-3/+3
Change-Id: I9d67d5ddb9bf90e1b216a7282774543c9de874c3
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann2-12/+12
Change-Id: I95283ccf78e4ca699e88ea226d38153a8a92845a
2015-11-04Resurrect CppunitTest_sal_osl_getsystempathfromfileurlStephan Bergmann2-3/+248
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 Bergmann1-0/+5
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 Bergmann1-119/+97
Change-Id: I2daa355c4a46c4edc73c30185f2b31852351c45f
2015-11-03Solved CID 1338058 and CID 1338057jan iversen1-0/+2
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 Bergmann1-2/+7
(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 Bergmann2-71/+58
...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 Bergmann20-8932/+0
Change-Id: I2614e6c9f6d0a31866cb9821910da7f3e31377c6
2015-11-02loplugin:stringconstantNoel Grandin3-5/+5
Change-Id: Id051dd984c24fb34dcc89060ed11955fed61fd48
2015-11-02Fix CppunitTest_sal_osl_pipeStephan Bergmann1-0/+2
Change-Id: I8b092d7e5132e2462b7fe9981f81a41543ca8694
2015-10-30Fix osl_getSystemPathFromFileURL URL scheme checkStephan Bergmann1-7/+20
Change-Id: If7737b9eaf11333facd9ae3faf58e36ba76c3b05
2015-10-30sal: loplugin:salboolMichael Stahl1-4/+4
Change-Id: I8fa83df0bf5f6064dcdd3f830769d7626152c7ab
2015-10-30Combine individual gb_Module_add_check_targets, and sortStephan Bergmann1-20/+12
Change-Id: Ia625a33371d2278bd89274ed5ee18acb773810cf
2015-10-30CppunitTest_sal_osl_pipe can be added to gb_Module_add_check_targets nowStephan Bergmann1-5/+1
Change-Id: I13522370b2bd0ea1907660a55a74e830335ca4a4 Reviewed-on: https://gerrit.libreoffice.org/19686 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>