[libcxx] r329075 - Implement P0754R2: The <version> header.

Marshall Clow via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 3 08:48:24 PDT 2018


Author: marshall
Date: Tue Apr  3 08:48:24 2018
New Revision: 329075

URL: http://llvm.org/viewvc/llvm-project?rev=329075&view=rev
Log:
Implement P0754R2: The <version> header.

Added:
    libcxx/trunk/include/version
    libcxx/trunk/test/libcxx/language.support/support.limits/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/version.pass.cpp
Modified:
    libcxx/trunk/www/cxx2a_status.html

Added: libcxx/trunk/include/version
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/version?rev=329075&view=auto
==============================================================================
--- libcxx/trunk/include/version (added)
+++ libcxx/trunk/include/version Tue Apr  3 08:48:24 2018
@@ -0,0 +1,25 @@
+// -*- C++ -*-
+//===--------------------------- version ----------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_VERSIONH
+#define _LIBCPP_VERSIONH
+
+/*
+    version synopsis
+
+*/
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#pragma GCC system_header
+#endif
+
+#endif  // _LIBCPP_VERSIONH

Added: libcxx/trunk/test/libcxx/language.support/support.limits/version.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/language.support/support.limits/version.pass.cpp?rev=329075&view=auto
==============================================================================
--- libcxx/trunk/test/libcxx/language.support/support.limits/version.pass.cpp (added)
+++ libcxx/trunk/test/libcxx/language.support/support.limits/version.pass.cpp Tue Apr  3 08:48:24 2018
@@ -0,0 +1,23 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <version>
+// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
+// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7
+// UNSUPPORTED: clang-3.8, clang-3.9, clang-4.0, clang-5.0, clang-6.0
+
+#include <version>
+
+#if !defined(_LIBCPP_VERSION)
+#error "_LIBCPP_VERSION must be defined after including <version>"
+#endif
+
+int main()
+{
+}

Added: libcxx/trunk/test/std/language.support/support.limits/version.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.limits/version.pass.cpp?rev=329075&view=auto
==============================================================================
--- libcxx/trunk/test/std/language.support/support.limits/version.pass.cpp (added)
+++ libcxx/trunk/test/std/language.support/support.limits/version.pass.cpp Tue Apr  3 08:48:24 2018
@@ -0,0 +1,17 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <version>
+// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
+
+#include <version>
+
+int main()
+{
+}

Modified: libcxx/trunk/www/cxx2a_status.html
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/cxx2a_status.html?rev=329075&r1=329074&r2=329075&view=diff
==============================================================================
--- libcxx/trunk/www/cxx2a_status.html (original)
+++ libcxx/trunk/www/cxx2a_status.html Tue Apr  3 08:48:24 2018
@@ -76,7 +76,7 @@
 	<tr><td><a href="https://wg21.link/P0355R7">P0355R7</a></td><td>LWG</td><td>Extending chrono to Calendars and Time Zones</td><td>Jacksonville</td><td></td><td></td></tr>
 	<tr><td><a href="https://wg21.link/P0551R3">P0551R3</a></td><td>LWG</td><td>Thou Shalt Not Specialize <tt>std</tt> Function Templates!</td><td>Jacksonville</td><td></td><td></td></tr>
 	<tr><td><a href="https://wg21.link/P0753R2">P0753R2</a></td><td>LWG</td><td>Manipulators for C++ Synchronized Buffered Ostream</td><td>Jacksonville</td><td></td><td></td></tr>
-	<tr><td><a href="https://wg21.link/P0754R2">P0754R2</a></td><td>LWG</td><td><version></td><td>Jacksonville</td><td></td><td></td></tr>
+	<tr><td><a href="https://wg21.link/P0754R2">P0754R2</a></td><td>LWG</td><td><version></td><td>Jacksonville</td><td>Complete</td><td>7.0</td></tr>
 	<tr><td><a href="https://wg21.link/P0809R0">P0809R0</a></td><td>LWG</td><td>Comparing Unordered Containers</td><td>Jacksonville</td><td></td><td></td></tr>
 	<tr><td><a href="https://wg21.link/P0858R0">P0858R0</a></td><td>LWG</td><td>Constexpr iterator requirements</td><td>Jacksonville</td><td></td><td></td></tr>
 	<tr><td><a href="https://wg21.link/P0905R1">P0905R1</a></td><td>CWG</td><td>Symmetry for spaceship</td><td>Jacksonville</td><td></td><td></td></tr>
@@ -180,7 +180,7 @@
 <!-- 	<tr><td></td><td></td><td></td><td></td></tr> -->
   </table>
 
-  <p>Last Updated: 20-Mar-2018</p>
+  <p>Last Updated: 3-Apr-2018</p>
 </div>
 </body>
 </html>




More information about the cfe-commits mailing list