diff options
author | Chris Kennelly <ckennelly@google.com> | 2019-01-11 17:09:22 +0000 |
---|---|---|
committer | Chris Kennelly <ckennelly@google.com> | 2019-01-11 17:09:22 +0000 |
commit | 4b68a599b2ca5e6b5f29a8e29bdabd6725373136 (patch) | |
tree | 12909b2ee5fc582879cd67092988b20233510cf5 /clang | |
parent | c6370aa6eada42dea81f3a5d5c31f8f4957b5903 (diff) |
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
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 1 | ||||
-rw-r--r-- | clang/test/Lexer/cxx-features.cpp | 4 | ||||
-rwxr-xr-x | clang/www/cxx_status.html | 11 |
3 files changed, 13 insertions, 3 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 77b2f479a79..66807b097d4 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -543,6 +543,7 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts, // C++20 features. if (LangOpts.Char8) Builder.defineMacro("__cpp_char8_t", "201811L"); + Builder.defineMacro("__cpp_impl_destroying_delete", "201806L"); // TS features. if (LangOpts.ConceptsTS) diff --git a/clang/test/Lexer/cxx-features.cpp b/clang/test/Lexer/cxx-features.cpp index e4fea0b5bb2..09b82b7c47e 100644 --- a/clang/test/Lexer/cxx-features.cpp +++ b/clang/test/Lexer/cxx-features.cpp @@ -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) diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html index 5fee962ce83..95aa291827a 100755 --- a/clang/www/cxx_status.html +++ b/clang/www/cxx_status.html @@ -1054,9 +1054,9 @@ and library features that are not part of standard C++.</p> <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 of standard C++.</p> 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"> |