[clang] bc633a4 - Mark the major papers for C++20 consistent comparisons as "done", and

Richard Smith via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 15 22:20:57 PST 2019


Author: Richard Smith
Date: 2019-12-15T22:20:06-08:00
New Revision: bc633a42dd409dbeb456263e3388b8caa4680aa0

URL: https://github.com/llvm/llvm-project/commit/bc633a42dd409dbeb456263e3388b8caa4680aa0
DIFF: https://github.com/llvm/llvm-project/commit/bc633a42dd409dbeb456263e3388b8caa4680aa0.diff

LOG: Mark the major papers for C++20 consistent comparisons as "done", and
start publishing the corresponding feature-test macro.

Added: 
    

Modified: 
    clang/lib/Frontend/InitPreprocessor.cpp
    clang/test/Lexer/cxx-features.cpp
    clang/www/cxx_status.html

Removed: 
    


################################################################################
diff  --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index b1c7aed0d44e..79360f89fc82 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -546,6 +546,7 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
     Builder.defineMacro("__cpp_conditional_explicit", "201806L");
     Builder.defineMacro("__cpp_constexpr_dynamic_alloc", "201907L");
     Builder.defineMacro("__cpp_constinit", "201907L");
+    Builder.defineMacro("__cpp_impl_three_way_comparison", "201907L");
   }
   if (LangOpts.Char8)
     Builder.defineMacro("__cpp_char8_t", "201811L");

diff  --git a/clang/test/Lexer/cxx-features.cpp b/clang/test/Lexer/cxx-features.cpp
index 868ec24a1d9f..077f3155fee9 100644
--- a/clang/test/Lexer/cxx-features.cpp
+++ b/clang/test/Lexer/cxx-features.cpp
@@ -46,6 +46,10 @@
 #error "wrong value for __cpp_impl_destroying_delete"
 #endif
 
+#if check(impl_three_way_comparison, 0, 0, 0, 0, 201907)
+#error "wrong value for __cpp_impl_three_way_comparison"
+#endif
+
 // --- C++17 features ---
 
 #if check(hex_float, 0, 0, 0, 201603, 201603)

diff  --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html
index 47f58727def8..3f7cfd1308bf 100755
--- a/clang/www/cxx_status.html
+++ b/clang/www/cxx_status.html
@@ -926,11 +926,10 @@ <h2 id="cxx20">C++2a implementation status</h2>
     <tr>
       <td rowspan="8">Consistent comparison (<tt>operator<=></tt>)</td>
       <td><a href="https://wg21.link/p0515r3">P0515R3</a></td>
-      <td class="partial" align="center">Partial</td>
+      <td rowspan="2" class="svn" align="center">SVN</td>
     </tr>
       <tr> <!-- from Jacksonville -->
         <td><a href="https://wg21.link/p0905r1">P0905R1</a></td>
-        <td class="svn" align="center">SVN</td>
       </tr>
       <tr> <!-- from Rapperswil -->
         <td><a href="https://wg21.link/p1120r0">P1120R0</a></td>


        


More information about the cfe-commits mailing list