summaryrefslogtreecommitdiff
path: root/sal
AgeCommit message (Collapse)Author
2016-01-14use ::std::swap() to reverse bufferEike Rathke
Change-Id: I7e18e57636416f0a3ed96c2fa3adc004fb3ba013
2016-01-14use getN10Exp(x) instead of pow(10.0,x)Eike Rathke
Change-Id: Ib7e49126cbffc510fa941c25a8d57222bad51c46
2016-01-14unit test for negative decimal places rounding, tdf#96918 relatedEike Rathke
Change-Id: Ib2f3ffaa7c4216b66479c750465c2beab927405a
2016-01-14handle negative decimal places for rounding, tdf#96918 relatedEike Rathke
Change-Id: Ifa423eabc64ead519c4f4a3370a06e88ea5c7466
2016-01-13Keep MSVC happyStephan Bergmann
(warning C4305 when converting 9007199254740993 from __int64 to double) Change-Id: I0e2b92a01ba5ae1824d609ee2e557f1a1cc85cbd
2016-01-13loplugin:defaultparamsStephan Bergmann
Change-Id: I507a16e1d87460dead79b78621202c68ee12c2c8
2016-01-13sal: as always C++ is too stupid to deduce parameter types of minMichael Stahl
Change-Id: Ib00f29a6024e22c65a30bf4a45332e550994f03f
2016-01-13unit test for tdf#96918 display accurate integer double valuesEike Rathke
Change-Id: I619e0cb0fbbfd0dfba3b2fe9c3476be55a3eea8e
2016-01-13tdf#96918 display accurate integer double values up to (2^53)-1Eike Rathke
Change-Id: I42001583c72bc3faab94489a4eabfa183cab5ae2
2016-01-13sal: avoid " at:\n" at the end of SAL_DEBUG() messagesMiklos Vajna
This reverts one hunk of commit c995196ff0e9f7041b03fc513d703d6e60b8c867 (Fixup SAL_DEBUG_TRACE macro., 2016-01-12). Change-Id: Icbf611c4aaa909b8c495bed1280fad73ba876e8c
2016-01-12Fixup SAL_DEBUG_TRACE macro.Michael Meeks
Change-Id: I276ce9a356086001c208902ba94641863c2f2fdb Reviewed-on: https://gerrit.libreoffice.org/21408 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
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