Building with Clang needs at least libstdc++ 10
commit0a4f0ae2cfba246cb6a2708b9db5dab8fc71e6a9
authorStephan Bergmann <stephan.bergmann@allotropia.de>
Sat, 16 Mar 2024 08:24:12 +0000 (16 09:24 +0100)
committerStephan Bergmann <stephan.bergmann@allotropia.de>
Sat, 16 Mar 2024 10:53:25 +0000 (16 11:53 +0100)
treeb72087fe51cfe218cb21c362cbda3a27e581e894
parent806b6014db796a3970332f9cefaaabf9355d0d8f
Building with Clang needs at least libstdc++ 10

Not sure how 02f48a32400f81413329d81203c417521882cab6 "Adjust for new linux
baseline" had decided to declare "Clang 12 with libstdc++ 8.5" sufficient for
building on Linux.  But I just experienced that building recent master on Ubuntu
20.04 with its libstdc++ 9.4.0, against a (lode-built) Clang 12.0.1, failed with

> codemaker/source/commonjava/commonjava.cxx:45:21: error: no matching literal operator for call to 'operator""_ostr' with arguments of types 'const char *' and 'unsigned long', and no matching literal operator template
>             { "void"_ostr, "java/lang/Void"_ostr },
>                     ^

etc., apparently because the use of std::copy_n in constexpr O[U]StringLiteral
ctors is not yet constexpr there.  And
<https://en.cppreference.com/w/cpp/compiler_support#C.2B.2B20_library_features>
indeed lists "P0202R3" (i.e.,
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0202r3.html> "Add
Constexpr Modifiers to Functions in <algorithm> and <utility> Headers") as only
available since "GCC libstdc++": "10".

Change-Id: I9d8ee2833f3b0c6c24059ec6e5d4dc8994058a1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164895
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
README.md