1
0
Эх сурвалжийг харах

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.
Brad King 6 жил өмнө
parent
commit
9dfb66372e
1 өөрчлөгдсөн 20 нэмэгдсэн , 1 устгасан
  1. 20 1
      bootstrap

+ 20 - 1
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"