summaryrefslogtreecommitdiff
path: root/include/rtl
AgeCommit message (Collapse)Author
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-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: make OString/OUString immovable for MSVCMichael Stahl
Odd problem, with MSVC 2013 in CppunitTest_smoketest in sal/osl/w32/procimpl.cxx the read_environment calls std::stable_sort, which turns about 89 elements into the empty string since commit c9f6e12e7eb6a49389360626d206191147a174fb. No idea what the problem is but let's disable the move for now. Change-Id: I2912cd54a339bb6ab39922be516ea368a430f7c9 Reviewed-on: https://gerrit.libreoffice.org/20834 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
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-10More loplugin:nullptr automatic rewrite (within templates)Stephan Bergmann
Change-Id: I9bc06cfb5eeb38fd7ae7fb25f876ea9f96e4a65a
2015-11-28Adapt to true wchar_t in clang-clStephan Bergmann
Change-Id: I14c2dc0be12151b5d4ea2ba3b65030f6f4494905
2015-11-18Use C++11 char16_t for sal_UnicodeStephan Bergmann
...in LIBO_INTERNAL_ONLY, __cplusplus, non-MSVC case. It turns out that sal_Unicode happens to not be mangled into any symbols that make up the stable URE interface, so (for LIBO_INTERNAL_ONLY, at least) we are free to replace the typedef to sal_uInt16 with a typedef to any integral type layout-compatible with that. (sal_Unicode does appear in some symbols in sal's PRIVATE_textenc.1 section, but that is private between the sal and sal_textenc libraries, so changing those symbols does not require a change of SONAME.) C++11 chart16_t is the obvious choice (and will ultimately allow using u"..." to write literals of type array-of-sal_Unicode). Reportedly, char16_t is supported since GCC 4.4 and Clang 2.9 but will only be available in MSVC 2015. For plain C, we continue to use sal_uInt16. We could theoretically use C11 char16_t from <uchar.h>, but at least the Mac OS X 10.11 SDK still does not offer that C11 header. For MSVC, we continue to use wchar_t (which is actually unsigned short, due to /Zc:wchar_t-) for now. Potential options there include dropping /Zc:wchar_t- and using true wchar_t, or using C++11 char16_t once support for MSVC 2013 is dropped. Some code needed to be adapted that was written in a way assuming that sal_Unicode is unsigned short (which indicates that changing sal_Unicode for non-LIBO_INTERNAL_ONLY would be an ABI change). OUStringBuffer::append can now differentiate between being called with sal_Unicode (to append a single character) and erroneously being called with sal_uInt16 (intending to append a number's textual representation, for which the sal_Int32 overload must be used instead). Bugs found are 379fe0409e7973b36210cffa3dd1dfd4032f0ecc "Assume that this code wants to append a number, not a character" and dc148335a6a438848325f24c49198fba81043279 "Assume this wants to append the numerical representation." The GDB support for pretty-printing of sal_Unicode-related data in solenv/gdb/libreoffice/sal.py can presumably be simplified now. Change-Id: I445b3a80e65b7cb004d9e08b38bdc9ee93bc9401 Reviewed-on: https://gerrit.libreoffice.org/20036 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2015-11-13Adapt to clang-clStephan Bergmann
Change-Id: I2f79e52da2aa0ad3a37aac07a36dbe14dfe401a9
2015-11-13-Werror,-Wmicrosoft-enum-valueStephan Bergmann
Change-Id: Iafd6e5f899835303e421be923f70d1e3f42bf65e
2015-11-10Missing includes (for NULL)Stephan Bergmann
Change-Id: Id2359f6ff4bddb2afbc0b346e17cd858f00179e3
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-06Best avoid SAL_CALL cargo-cult for new inline functionsStephan Bergmann
Change-Id: Ifeaddeac673366b4eacc55ce6f2a74a2553ac927
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-09-30Fix typosAndrea Gelmini
Change-Id: Id66432ef80fc2963fd2cbc6fad5d8e135e8975b0 Reviewed-on: https://gerrit.libreoffice.org/18956 Reviewed-by: Oliver Specht <oliver.specht@cib.de> Tested-by: Oliver Specht <oliver.specht@cib.de>
2015-09-10Add OString::startsWithIgnoreAsciiCaseStephan Bergmann
...analogous to the existing OUString::startsWihtIgnoreAsciiCase, to be used in the next commit Change-Id: Iad6989c16e1bda6b2b0a58e6c768f7852560bb00
2015-08-11new loplugin: defaultparamsNoel Grandin
find places where we do not need to be passing a parameter to a function, because that function has a default value which matches the value we are passing. Change-Id: I04d1fd6275204dd4925e6563282464f461123632
2015-08-03Fix a copy-paste errorTakeshi Abe
Change-Id: Ifabb905819e32cf4db603f3f7bb18e6cc8fdfdcf
2015-07-22Apply special treatment of OUStringLiteral1 to MSVC 2015David Ostrovsky
Change-Id: I56e69fbdb555bb30cd88d75717d6f716c81ae237 Reviewed-on: https://gerrit.libreoffice.org/16804 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-07-12Rule out OString(std::nullptr_t)Stephan Bergmann
(This is no issue for OUString, as it has two ctors taking a single pointer argument, so passing a null pointer is ambiguous anyway.) Change-Id: I36f44b29eb84eb83e284fa080d706eabb4b485d5
2015-07-08Fix typosAndrea Gelmini
Change-Id: I70b03c152f63e48341dc5629a99b0eeab7b497c0 Reviewed-on: https://gerrit.libreoffice.org/16834 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2015-07-03Fix typosAndrea Gelmini
Change-Id: Ie2bbe020fc6e3a4a4f913208c245f395849bb9ee Reviewed-on: https://gerrit.libreoffice.org/16708 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-06-30Coverity 1308555, 1308562, 1308600: Drop some SAL_THROW_EXTERN_CStephan Bergmann
...from most rtl/bootstrap.h functions. They are effectively only called from C++ code (there is no plain C UNO binding), so it should be fine to let std exceptions (like bad_alloc or length_error) propagate from their implementations to call sites. (The exception is rtl_bootstrap_args_close, which is typically called from C++ dtors, so should not throw anyway.) This would strictly speaking be an [API CHANGE], but it should make no practical difference whether a process terminates abruptly because an exception cannot pass through a SAL_THROW_EXTERN_C() nothrow specification or because legacy client code does not expect exceptions to be thrown from functions from which SAL_THROW_EXTERN_C() has now been removed. Change-Id: I08e8479e9c5731e46021aadd6a725c1793024d10
2015-06-26Add optimized OUString += literal overloadStephan Bergmann
Change-Id: Ib34196185f90204a71598f2c659c3fddce7a0e4d
2015-06-26SAL_WARN_UNUSED_RESULT missing from some of the operator+ overloadsStephan Bergmann
Change-Id: I70acf02c36ced3ff19f424768f293f2221ef7af5
2015-06-26Unnecessary nested #ifdef LIBO_INTERNAL_ONLYStephan Bergmann
Change-Id: I889aa10e0cb7b5779527e5ef2be5d707dd493e90
2015-06-25Revert "Revert "Generalize OUStringLiteral1""Stephan Bergmann
This reverts commit 5cba714b4d03ed54debf71534ad8c8edc383a01e, now including a workaround for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53658> "internal compiler error -- segmentation fault." Change-Id: I31f6d9ddcb0b884134703df2b9dc1800ba0a84be
2015-06-24Revert "Generalize OUStringLiteral1"Stephan Bergmann
This reverts commit 4d4f3512db0cf0bf47c2ba1b39c3813842903ef7, at least "gcc version 4.8.3 20140627 [gcc-4_8-branch revision 212064] (SUSE Linux)" fails with "include/rtl/stringutils.hxx:175:49: internal compiler error: Segmentation fault."
2015-06-24Generalize OUStringLiteral1Stephan Bergmann
...by making all places that accept a string literal via ConstCharArrayDetector also accept an OUStringLiteral1 via ConstCharArrayDetector (which required some tweaking of the ConstCharArrayDetector internals). That removes the need for special-purpose OUStringLiteral1 overloads, and will allow OUStringLiteral1 to be used in more places. Change-Id: I370de8480e02f8423cde5677dd38479b81bccdb2
2015-06-23Implement full set of OUString::replaceFirst/All literal overloadsStephan Bergmann
Change-Id: I5f525d91ce24d1d2653a6855f1c4fffc039ae398
2015-06-23Avoid conversion warnings in rtl::get[High|Low]SurrogateMatteo Casalin
Change-Id: I5eec1f7505e27eedd39081669011f7af42b8a26f Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2015-06-23Avoid conversion warning in O[U]String[Buffer] constructorsMatteo Casalin
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, modifying the patch to carefully keep the undefined behavior in the already existing additions that may potentially overflow, instead of making the static_cast<sal_Int32> introduction look like end - pData->buffer will be guaranteed to fit into sal_Int32 (which it is not). Change-Id: Id2fb64dc4585dae34257be6968a8905254a3b42d
2015-06-19Catch inadvertent uses of OUString(sal_Unicode) ctorStephan Bergmann
...with numeric values that are not meant to be characters. Inspired by <https://gerrit.libreoffice.org/#/c/16339/> "OUString: add constructor from single Unicode code point" and ecaf1cb3861c1b519a1495487fc796884cf37b92 "seems to be what was meant." Found e46e8d19458fd64ff20b1013e5eeabd07e62379c "Shall this produce a string representation of a number?" and f2a0e4032734d6be635f14ade3dea499c29ec6c2 "Don't truncate a UTF-32 code point to a UTF-16 code unit." (LIBO_INTERNAL_ONLY mostly because it uses a C++11 delegating ctor for simplicity, but also because it requires mild modifications to client code, see additional changes in this commit and some other recent commits.) Change-Id: I8a156f01d1b772c6052d7afaa088ae13ed234e2b
2015-06-16Fix typosAndrea Gelmini
Change-Id: Id8c7cf460cba5af89891c470e1aaa61b227d356e Reviewed-on: https://gerrit.libreoffice.org/16310 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-04-28Merge remote-tracking branch 'origin/feature/vclptr'Michael Meeks
Resolve several thousand lines of conflicts. Conflicts: accessibility/source/extended/accessiblelistbox.cxx accessibility/source/standard/vclxaccessiblecombobox.cxx accessibility/source/standard/vclxaccessibledropdowncombobox.cxx accessibility/source/standard/vclxaccessibledropdownlistbox.cxx accessibility/source/standard/vclxaccessiblelistbox.cxx accessibility/source/standard/vclxaccessibletextfield.cxx basctl/source/basicide/basidesh.cxx cui/source/inc/chardlg.hxx cui/source/tabpages/tpbitmap.cxx dbaccess/source/ui/dlg/UserAdmin.cxx dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx extensions/source/propctrlr/propertyeditor.hxx extensions/source/scanner/sanedlg.cxx filter/source/pdf/impdialog.cxx include/sfx2/mgetempl.hxx include/sfx2/sidebar/SidebarToolBox.hxx include/sfx2/viewsh.hxx include/svtools/brwbox.hxx include/svtools/filectrl.hxx include/svtools/scrwin.hxx include/svx/dlgctrl.hxx include/svx/sidebar/Popup.hxx include/svx/sidebar/PopupContainer.hxx include/svx/sidebar/PopupControl.hxx include/svx/sidebar/SidebarDialControl.hxx include/svx/sidebar/ValueSetWithTextControl.hxx sc/source/ui/condformat/condformatdlgentry.cxx sc/source/ui/navipi/navipi.cxx sc/source/ui/sidebar/CellBorderStyleControl.hxx sd/source/ui/animations/CustomAnimationDialog.cxx sd/source/ui/inc/DrawViewShell.hxx sd/source/ui/inc/Ruler.hxx sd/source/ui/inc/SlideSorter.hxx sd/source/ui/inc/ViewTabBar.hxx sd/source/ui/inc/Window.hxx sd/source/ui/inc/morphdlg.hxx sd/source/ui/inc/sdpreslt.hxx sd/source/ui/sidebar/CurrentMasterPagesSelector.hxx sd/source/ui/sidebar/LayoutMenu.hxx sd/source/ui/sidebar/MasterPagesSelector.hxx sd/source/ui/sidebar/NavigatorWrapper.hxx sd/source/ui/sidebar/PanelBase.hxx sd/source/ui/sidebar/RecentMasterPagesSelector.cxx sd/source/ui/sidebar/RecentMasterPagesSelector.hxx sd/source/ui/slideshow/showwindow.hxx sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx sd/source/ui/slidesorter/view/SlsLayeredDevice.hxx sd/source/ui/view/ViewShellBase.cxx sd/source/ui/view/drviewsa.cxx sfx2/source/appl/fileobj.hxx sfx2/source/appl/opengrf.cxx sfx2/source/control/thumbnailviewacc.hxx sfx2/source/dialog/securitypage.cxx sfx2/source/dialog/templdlg.cxx sfx2/source/doc/docinsert.cxx sfx2/source/doc/guisaveas.cxx sfx2/source/inc/alienwarn.hxx sfx2/source/sidebar/Deck.cxx sfx2/source/sidebar/Deck.hxx sfx2/source/sidebar/DeckTitleBar.cxx sfx2/source/sidebar/DeckTitleBar.hxx sfx2/source/sidebar/MenuButton.cxx sfx2/source/sidebar/MenuButton.hxx sfx2/source/sidebar/Panel.cxx sfx2/source/sidebar/Panel.hxx sfx2/source/sidebar/PanelTitleBar.hxx sfx2/source/sidebar/SidebarDockingWindow.hxx sfx2/source/sidebar/SidebarToolBox.cxx sfx2/source/sidebar/TabBar.hxx sfx2/source/sidebar/TabItem.cxx sfx2/source/sidebar/TabItem.hxx sfx2/source/sidebar/TitleBar.hxx sfx2/source/toolbox/imgmgr.cxx starmath/inc/edit.hxx starmath/inc/smmod.hxx starmath/qa/cppunit/test_starmath.cxx starmath/source/edit.cxx starmath/source/smmod.cxx svtools/source/brwbox/brwbox1.cxx svtools/source/brwbox/datwin.hxx svtools/source/contnr/fileview.cxx svtools/source/contnr/simptabl.cxx svtools/source/control/filectrl.cxx svtools/source/control/valueimp.hxx svx/inc/GalleryControl.hxx svx/source/dialog/dlgctrl.cxx svx/source/dialog/swframeexample.cxx svx/source/fmcomp/fmgridif.cxx svx/source/gallery2/GalleryControl.cxx svx/source/sidebar/EmptyPanel.hxx svx/source/sidebar/area/AreaPropertyPanel.hxx svx/source/sidebar/area/AreaTransparencyGradientControl.hxx svx/source/sidebar/graphic/GraphicPropertyPanel.hxx svx/source/sidebar/insert/InsertPropertyPanel.cxx svx/source/sidebar/insert/InsertPropertyPanel.hxx svx/source/sidebar/line/LinePropertyPanel.hxx svx/source/sidebar/line/LineWidthControl.cxx svx/source/sidebar/line/LineWidthControl.hxx svx/source/sidebar/line/LineWidthValueSet.hxx svx/source/sidebar/paragraph/ParaPropertyPanel.hxx svx/source/sidebar/possize/SidebarDialControl.cxx svx/source/sidebar/text/TextCharacterSpacingPopup.hxx svx/source/sidebar/text/TextPropertyPanel.hxx svx/source/sidebar/tools/PopupContainer.cxx svx/source/sidebar/tools/PopupControl.cxx svx/source/sidebar/tools/ValueSetWithTextControl.cxx svx/source/svdraw/svdfmtf.hxx svx/source/svdraw/svdibrow.cxx svx/source/tbxctrls/colrctrl.cxx svx/source/tbxctrls/tbcontrl.cxx sw/source/ui/dbui/mmaddressblockpage.cxx sw/source/ui/dialog/uiregionsw.cxx sw/source/ui/index/cnttab.cxx sw/source/uibase/inc/drpcps.hxx sw/source/uibase/sidebar/PageColumnControl.hxx sw/source/uibase/sidebar/PageMarginControl.hxx sw/source/uibase/sidebar/PageOrientationControl.hxx sw/source/uibase/sidebar/PagePropertyPanel.hxx sw/source/uibase/sidebar/PageSizeControl.hxx sw/source/uibase/uiview/view2.cxx sw/source/uibase/utlui/navipi.cxx vcl/inc/svdata.hxx vcl/source/control/combobox.cxx vcl/source/control/lstbox.cxx vcl/source/window/dockwin.cxx vcl/source/window/winproc.cxx Change-Id: I056cf3026ff17d65cca0b6e6588bda4a88fa8d95
2015-04-20Clean up new rtl/surrogates.hStephan Bergmann
Change-Id: Iec781bdbbf216cb14c9ba5be5955123273d7699c
2015-04-20duplicate surrogate codeCaolán McNamara
Change-Id: I9fad024e4b5c8a4ca272f2387df07351198cf5dc
2015-04-10vclptr: create Instance helpers, and set initial ref-count to 1.Michael Meeks
Document that in README.lifecycle; the problem is that our constructors currently take and release references left/right on the object being created, which ... means we need an initial reference. Change-Id: I5de952b73ac67888c3fbb150d4a7cde2a7bc9abf
2015-04-10Update @since tags LO 4.5 -> 5.0Stephan Bergmann
Change-Id: Idb2e46fcaa080d6763d2e3ed963f7673a2353eb2
2015-03-31V597: introduce a rtl_secureZeroMemoryCaolán McNamara
Change-Id: Id28046eb318cd3b2ed0b813fd266617547cf6ee2
2015-02-23tdf#88835 Calc: General format: 2 digits in exponentLaurent Balland-Poirier
Create 4 new formats enums rtl_math_StringFormat: rtl_math_StringFormat_E1, rtl_math_StringFormat_E2, rtl_math_StringFormat_G1, rtl_math_StringFormat_G2 to 1 or 2 digits in exponent for scientific notation. Set General format to use rtl_math_StringFormat_E2. Set trendline equation in status bar to use rtl_math_StringFormat_E1 Change-Id: I41466a6d4ba808ba5b9b38ba252b37c6b4560f12 Reviewed-on: https://gerrit.libreoffice.org/14562 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-02-18TyposJulien Nabet
Change-Id: I845a85e1aad4a0708f2b43f7d94606b4b5513ee4
2015-02-14Related: tdf#63690 - remove rtl_logfileThorsten Behrens
This was unused since the earlier cleanup. Change-Id: Ia56641c4242037a0ce501e43939b8dc862499f0e
2015-02-09Basic : Partially rewrite hex and octal constant reading.Arnaud Versini
Change-Id: I42f72e7b1ca897aba71950841f90b501cf3b6dc2 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2015-02-07loplugin:deletedspecialStephan Bergmann
Change-Id: I646d55ee80ceeefbb3647ec64278460cc5af579f
2015-02-06Make OUStringLiteral more usefulStephan Bergmann
...don't dare make it non-explicit, yet. Along the way, introduce SAL_CONSTEXPR. Change-Id: Ia3179d0d5e001fd7aa92237c97437e9b74366ee1
2015-02-06sal: add back the append / insert assertions that were...Michael Stahl
...removed in 2c03d6fb053319e61ed600a3c22c4fd39da84e4d. Change-Id: I09194c55ac574bbc0f3065360b329fab8f0ba10c
2015-02-05sal: add some argument checking assertions for strings and buffersMichael Stahl
Also remove some now redundant asserts from headers. Some of these actually trigger on unit tests so are commented out. Change-Id: I07c6b2b2bd175361691a141f22eec584e3ab8f0b
2015-01-26Visible function type RTTI for Clang -fsanitize=functionStephan Bergmann
...by adding some further SAL_DLLPUBLIC_RTTI type annotations (cf. b4f6b26b5a1a78fecfa95ec2eb7ac8b80495d8aa "SAL_DLLPUBLIC_RTTI for proper RTTI visibility for LLVM") and by making sure relevant function types do not use incomplete types in their parameter and return types (which would make the RTTI hidden). Change-Id: Id7aadcbc0704b9759968ae36266fc9ce11a2e340
2015-01-23sal: remove GCC 4.6 check, it does not claim C++11 supportMichael Stahl
Change-Id: Ica0ff6a36e64c732000ef900fa7aeafaf6da3e04