Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


Some of our baselines on current master (towards LO 5.4) are as follows:


* GCC 4.7 (<https://cgit.freedesktop.org/libreoffice/core/commit/?id=e4b24c7399352642aeaeb412394d6230562d04d2> "configure: GCC 4.6 is no longer supported on master")

The latest version is GCC 6. Noteworthy C++ conformance we would gain with a bump (according to <http://en.cppreference.com/w/cpp/compiler_support>) would be:

** GCC 4.8.1:
*** inheriting constructors
*** ref-qualifiers

** GCC 4.9:
*** decltype(auto), return type deduction for normal functions
*** generic lambdas
*** deprecated attribute
*** single quote as digit separator

** GCC 5:
*** variable templates
*** user-defined literals for <chrono> and <string>

The question is what old versions of GCC are required exactly by the various builds.


* MSVC 2015 Update 3 (<https://cgit.freedesktop.org/libreoffice/core/commit/?id=84b36c704d73362d4d86dc9e9c0efa0625958347> "Drop support for MSVC 2013")

Bumping this to MSVC 2017 is unlikely to happen anytime soon, given we bumped to MSVC 2015 Update 3 only recently.


* For --enable-compiler-plugins, Clang 3.4 (<https://cgit.freedesktop.org/libreoffice/core/commit/?id=733198de1b7fc3907609217147704f493f6146e6> "Remove support for Clang < 3.4")

The latest version is Clang 4 (just released the other day). Bumping this would allow to clean up some #ifdefs across compilerplugins/clang/. The question is what old versions of Clang are required exactly by people building with --enable-compiler-plugins.

(For our C++ conformance, the oldest supported Clang version is rarely the limiting factor.)


* macOS 10.8 (<https://wiki.documentfoundation.org/index.php?title=ReleaseNotes/4.4&oldid=99539#Mac_OS_X>)

Bumping this to macOS 10.9 would get rid of the last known case of !HAVE_THREADSAFE_STATICS (cf. <https://cgit.freedesktop.org/libreoffice/core/commit/?id=aa2fbfc4faa24cf7ee5aa9afdafddbd536ac4fec> "Found out that Mac OS X 10.9 has working threadsafe statics"). What is unknown however is the status on Android and iOS. Having HAVE_THREADSAFE_STATICS everywhere would allow to clean up code, see e.g. <https://gerrit.libreoffice.org/#/c/35258/> "replace double-checked-locking with C++11 static initializer".

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.