summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-07-22 13:04:02 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-07-22 13:04:11 (GMT)
commit4cd039b78a955972a9c2b3947f267ce4b93489a0 (patch)
treeef3aeb37bf7a494d9bde57f335f15c41afbb1ecc
parentdbffd2f4d5742374a96468d217490769d1fad288 (diff)
parent9dfb66372ee398a9587364c42ed9c54cc226ced9 (diff)
downloadCMake-4cd039b78a955972a9c2b3947f267ce4b93489a0.zip
CMake-4cd039b78a955972a9c2b3947f267ce4b93489a0.tar.gz
CMake-4cd039b78a955972a9c2b3947f267ce4b93489a0.tar.bz2
Merge topic 'bootstrap-c++14'
9dfb66372e bootstrap: Verify C++14 capabilities before using them Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3587
-rwxr-xr-xbootstrap21
1 files changed, 20 insertions, 1 deletions
diff --git a/bootstrap b/bootstrap
index c2194fe..41431cc 100755
--- a/bootstrap
+++ b/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"