r350934 - Implementation Feature Test Macros for P0722R3
Chris Kennelly via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 11 09:09:22 PST 2019
Author: ckennelly
Date: Fri Jan 11 09:09:22 2019
New Revision: 350934
URL: http://llvm.org/viewvc/llvm-project?rev=350934&view=rev
Log:
Implementation Feature Test Macros for P0722R3
Summary:
P1353R0, adopted in San Diego, specified an implementation feature test macro for destroying delete (P0722R3).
The implementation of the feature (https://reviews.llvm.org/rL315662) is not guarded behind a flag, so the macro is not conditional on language version.
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D55741
Modified:
cfe/trunk/lib/Frontend/InitPreprocessor.cpp
cfe/trunk/test/Lexer/cxx-features.cpp
cfe/trunk/www/cxx_status.html
Modified: cfe/trunk/lib/Frontend/InitPreprocessor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=350934&r1=350933&r2=350934&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original)
+++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Fri Jan 11 09:09:22 2019
@@ -543,6 +543,7 @@ static void InitializeCPlusPlusFeatureTe
// C++20 features.
if (LangOpts.Char8)
Builder.defineMacro("__cpp_char8_t", "201811L");
+ Builder.defineMacro("__cpp_impl_destroying_delete", "201806L");
// TS features.
if (LangOpts.ConceptsTS)
Modified: cfe/trunk/test/Lexer/cxx-features.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/cxx-features.cpp?rev=350934&r1=350933&r2=350934&view=diff
==============================================================================
--- cfe/trunk/test/Lexer/cxx-features.cpp (original)
+++ cfe/trunk/test/Lexer/cxx-features.cpp Fri Jan 11 09:09:22 2019
@@ -34,6 +34,10 @@
#error "wrong value for __cpp_char8_t"
#endif
+#if check(impl_destroying_delete, 201806, 201806, 201806, 201806, 201806)
+#error "wrong value for __cpp_impl_destroying_delete"
+#endif
+
// --- C++17 features ---
#if check(hex_float, 0, 0, 0, 201603, 201603)
Modified: cfe/trunk/www/cxx_status.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html?rev=350934&r1=350933&r2=350934&view=diff
==============================================================================
--- cfe/trunk/www/cxx_status.html (original)
+++ cfe/trunk/www/cxx_status.html Fri Jan 11 09:09:22 2019
@@ -1054,9 +1054,9 @@ and library features that are not part o
<th>Available in Clang?</th>
</tr>
<tr id="sd6">
- <td rowspan="5">SD-6: SG10 feature test recommendations</td>
- <td rowspan="5"><a href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6</a></td>
- <td rowspan="5">N/A</td>
+ <td rowspan="6">SD-6: SG10 feature test recommendations</td>
+ <td rowspan="6"><a href="http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6</a></td>
+ <td rowspan="6">N/A</td>
<td class="full" align="center">
Clang 3.4 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3745">N3745</a>)</br>
</td>
@@ -1081,6 +1081,11 @@ and library features that are not part o
Clang 7 (<a href="http://wg21.link/p0096r5">P0096R5</a>)</a>
</td>
</tr>
+ <tr>
+ <td class="partial" align="center">
+ WIP (<a href="http://wg21.link/p1353r0">P1353R0</a>)
+ </td>
+ </tr>
<!-- FIXME: Implement latest recommendations.
<tr>
<td class="svn" align="center">
More information about the cfe-commits
mailing list