path: root/comphelper/inc/pch/precompiled_comphelper.hxx
AgeCommit message (Collapse)AuthorFilesLines
2021-04-08update PCHsLuboš Luňák1-1/+2
Change-Id: Ia9d04447f927e270a55500e7f35723a729bc01dd Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2021-03-21update pchesCaolán McNamara1-1/+2
Change-Id: I60e61133c305673bb305e41957f5414820c7c358 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2021-03-09Make sal/config.h the first in pchMike Kaganski1-2/+2
By convention, it should be the first include in C/CXX files; so use of pch should not break that. Change-Id: Ic329c5f39e8f48ad1778724368e262e48972342b Reviewed-on: Tested-by: Jenkins Reviewed-by: Mike Kaganski <>
2021-02-08update pchesCaolán McNamara1-1/+2
Change-Id: Icf55ddda055d11b649e7607c2cdd8b6d6ddfefbc Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-12-04update pchesCaolán McNamara1-2/+5
Change-Id: I3e22c2000da03f6f3345353846213203993aa865 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-08-12SvTreeListBox can move into toolkit headers nowCaolán McNamara1-3/+1
Change-Id: I6b3b6ef1530a192f4b6bf87aa9688687063683ea Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-07-12update pchesCaolán McNamara1-1/+2
Change-Id: I75602277a5a26b012a12f2c4f4b7ff5bb663b0b9 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-04-26update pchesCaolán McNamara1-2/+2
Change-Id: I83a61da7dda6c72552eecd377f1c3744c92a797e Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-04-22uiobject.hxx only needs forward declaresCaolán McNamara1-2/+3
and update pches accordingly Change-Id: I411712532fd85961bffe6678416fcdc1d9c7f53d Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann1-1/+1 that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <>
2020-02-01make update_pch also consider files in <module>/src/**/incLuboš Luňák1-2/+2
With --enable-pch=full there's not much difference between a "public" header in <module>/inc and a private one in <module>/src/somewhere/inc . And since the script searches recursively, this apparently helps to find even more headers for lower pch levels. Change-Id: I8483d0aa5b4fea5a59107c20a8aa5f1ef694af0a Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann1-1/+1
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <>, and our baseline for iOS and macOS is still Xcode 9.3 according to And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <>
2019-10-18make bin/update_pch.s always include code in trivial #if'sLuboš Luňák1-1/+5
E.g. #ifdef LIBO_INTERNAL_ONLY is always true for code that builds with our PCHs. Change-Id: I3cf311ea3621b909105754cfea2cb0116b8b67f5 Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-05-12regenerate PCH headersLuboš Luňák1-5/+5
Change-Id: I4894023e42cbfa32916ee3ddfb2cfb5426cfc69f Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-05-09regenerate PCH headers for the 4 new levelsLuboš Luňák1-22/+59
Plus some build fixes triggered by this. Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50 Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2017-09-22Fresh run of bin/update_pch.shMike Kaganski1-6/+18
Change-Id: I69d4157aaf6570cecd51ea59df20556914942e06 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Mike Kaganski <>
2016-04-13tdf#94306 remove unused boost dependenciesJochen Nitschke1-1/+0
remove <boost/noncopyable.hpp> in pch and remove boost from makefile if it was the only boost entry. Change-Id: Icb945ae59c137571f4f63807601738eea5c3e831 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Stahl <>
2016-02-02boost::hash->std::hashNoel Grandin1-1/+0
Change-Id: If4d1e4071995f07212fad958b0226d5824d168f8 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2016-01-31OSL_THIS_FUNC is a rip-off of BOOST_CURRENT_FUNCTION so we can use thatCaolán McNamara1-1/+0
as a direct drop in I guess Change-Id: I3add63f1459f4e659019bd6db54da2f5431958ce Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian1-177/+118
Ported to Python with improved performance and features. The new script is invoked from the same 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 ( 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: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-11-09Cleanup two unused boost/bind includes in comphelper.Mario J. Rugiero1-1/+0
Change-Id: I8bfbbc82be3a91d7227ff76fc6eb570c1155dd4f Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2015-09-14boost->stdCaolán McNamara1-1/+0
Change-Id: I3fd9e1599c5ad812879a58cf1dabbcd393105e1c Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-07-20tdf#88206 replace cppu::WeakImplHelper* etc.Takeshi Abe1-4/+1
with the variadic variants, for comphelper. This also includes extra changes in other modules required accordingly. Change-Id: Id1537f46f1c90f760a0d8987a6dafa0e1da03b8f Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2015-06-17Replace boost::scoped_array<T> with std::unique_ptr<T[]>Takeshi Abe1-1/+1
This may reduce some degree of dependency on boost. Done by running a script like: git grep -l '#include *.boost/scoped_array.hpp.' \ | xargs sed -i -e 's@#include *.boost/scoped_array.hpp.@#include <memory>@' git grep -l '\(boost::\)\?scoped_array<\([^<>]*\)>' \ | xargs sed -i -e 's/\(boost::\)\?scoped_array<\([^<>]*\)>/std::unique_ptr<\2[]>/' ... and then killing duplicate or unnecessary includes, while changing manually m_xOutlineStylesCandidates in xmloff/source/text/txtimp.cxx, extensions/source/ole/unoconversionutilities.hxx, and extensions/source/ole/oleobjw.cxx. Change-Id: I3955ed3ad99b94499a7bd0e6e3a09078771f9bfd Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-02-16boost::noncopyable->'= delete'Caolán McNamara1-1/+0
Change-Id: If0f898a1e912fcd2095d8ba88b2b8046596e16ea
2015-02-05convert all remaining BOOST_STATIC_ASSERT to static_assertCaolán McNamara1-1/+0
and we can include a few less headers Change-Id: Id742849ff4c1c37a2b861aa3d6ab823f00ea87f8
2015-02-05Updated all precompiled headers.Ashod Nakashian1-3/+12
Change-Id: I955c8ac4dbe002d23531df7eb10fb4444d6b5157 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2014-12-27boost::unordered_map -> c++11 std::unordered_mapCaolán McNamara1-1/+0
Change-Id: I28438000c2b0a8e6ce4f5640f861f572c0cb83c8
2014-08-30coverity#706466 Uncaught exceptionCaolán McNamara1-1/+0
and coverity#706463 Uncaught exception Change-Id: I77cb09054f00d86cd3e206e44ef4942ddf148a7f
2014-05-17move boost rng wrapper from sc to comphelperThomas Arnhold1-1/+2
so we can re-use it in other modules Change-Id: I6057b1e955f745019fd48f91a754279df0f2b948 Reviewed-on: Reviewed-by: Thomas Arnhold <> Tested-by: Thomas Arnhold <> comphelperThomas Arnhold1-37/+17
Change-Id: I0b4cd8320881b2b1f7984c86e58915217bcd0d5f
2014-05-09update_pch: add a bunch of pch filesThomas Arnhold1-0/+248
I had to fix some source files because of macro redefinitions and such stuff. Small modules like basic have a great win, too: make basic.clean && time make basic: with w/o pch pch accessibility 23s 1m59s basctl 30s 1m42s basic 56s 1m35s comphelper 23s 51s editeng 48s 2m04s forms 40s 1m40s unotools 19s 38s sd 3m37s 4m33s Change-Id: Id24cdcddbe2ff64820b42266325c25af1355558f Reviewed-on: Tested-by: LibreOffice gerrit bot <> Reviewed-by: Thomas Arnhold <>
2011-11-27remove precompiled_xxx.hxx/cxxNorbert Thiebaud1-33/+0
2011-11-27remove include of pch header in comphelperNorbert Thiebaud1-1/+0
2010-10-14Add vim/emacs modelines to all source filesSebastian Spaeth1-0/+2
Fixes #fdo30794 Based on bin/add-modelines script (originally posted in mail Signed-off-by: Sebastian Spaeth <>
2010-02-12changefileheader2: #i109125#: change source file copyright notice from Sun ↵Jens-Heiner Rechtien1-4/+1
Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision)
2008-04-11INTEGRATION: CWS changefileheader (1.2.160); FILE MERGEDRüdiger Timm1-23/+18
2008/03/31 12:19:30 rt #i87441# Change license header to LPGL v3.
2006-09-17INTEGRATION: CWS pchfix02 (1.1.2); FILE ADDEDOliver Bolte1-0/+40
2006/09/01 17:19:37 kaib #i68856# Added header markers and pch files