mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
bootstrap: Verify C++14 capabilities before using them
In commit a605bf438e (Extend C++17/C++14 feature checks to cover more
standard library APIs, 2019-02-27, cpp-modules-20190312.1~52^2~1) we
added checks to the main build of CMake to verify C++14 capabilities
before using C++14 flags to build. Add these to the bootstrap check
too.
This commit is contained in:
21
bootstrap
21
bootstrap
@@ -1125,6 +1125,25 @@ echo '
|
||||
#error "SunPro <= 5.13 mode not supported due to bug in move semantics."
|
||||
#endif
|
||||
|
||||
#if __cplusplus > 201103L
|
||||
#include <iterator>
|
||||
int check_cxx14()
|
||||
{
|
||||
int a[] = { 0, 1, 2 };
|
||||
auto ai = std::cbegin(a);
|
||||
|
||||
int b[] = { 2, 1, 0 };
|
||||
auto bi = std::cend(b);
|
||||
|
||||
return *ai + *(bi - 1);
|
||||
}
|
||||
#else
|
||||
int check_cxx14()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
class Class
|
||||
{
|
||||
public:
|
||||
@@ -1135,7 +1154,7 @@ private:
|
||||
int main()
|
||||
{
|
||||
auto const c = std::unique_ptr<Class>(new Class);
|
||||
std::cout << c->Get() << std::endl;
|
||||
std::cout << c->Get() << check_cxx14() << std::endl;
|
||||
return 0;
|
||||
}
|
||||
' > "${TMPFILE}.cxx"
|
||||
|
||||
Reference in New Issue
Block a user