summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2019-10-03 00:39:37 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2019-10-03 00:39:37 +0000
commit6d2412c7e23eb840c4020180ae4de0ac34a25611 (patch)
tree1cc4c8829ec3d523b763f04b36ffc7a9322c1789
parenta706bc7c31fd2ea07ccc981179b565bf2fc7faf5 (diff)
downloadclang-6d2412c7e23eb840c4020180ae4de0ac34a25611.tar.gz
Mark P0784R7 as complete and start defining its feature-test macro.
Note that this only covers the language side of this feature. (The library side has its own feature test macro.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373548 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Frontend/InitPreprocessor.cpp1
-rw-r--r--test/Lexer/cxx-features.cpp4
-rwxr-xr-xwww/cxx_status.html3
3 files changed, 6 insertions, 2 deletions
diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp
index 95d9f62c60..6a3c898d8c 100644
--- a/lib/Frontend/InitPreprocessor.cpp
+++ b/lib/Frontend/InitPreprocessor.cpp
@@ -543,6 +543,7 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
// C++20 features.
if (LangOpts.CPlusPlus2a) {
Builder.defineMacro("__cpp_conditional_explicit", "201806L");
+ Builder.defineMacro("__cpp_constexpr_dynamic_alloc", "201907L");
Builder.defineMacro("__cpp_constinit", "201907L");
}
if (LangOpts.Char8)
diff --git a/test/Lexer/cxx-features.cpp b/test/Lexer/cxx-features.cpp
index cda6f888cb..868ec24a1d 100644
--- a/test/Lexer/cxx-features.cpp
+++ b/test/Lexer/cxx-features.cpp
@@ -34,6 +34,10 @@
#error "wrong value for __cpp_char8_t"
#endif
+#if check(constexpr_dynamic_alloc, 0, 0, 0, 0, 201907)
+#error "wrong value for __cpp_constexpr_dynamic_alloc"
+#endif
+
#if check(constinit, 0, 0, 0, 0, 201907)
#error "wrong value for __cpp_constinit"
#endif
diff --git a/www/cxx_status.html b/www/cxx_status.html
index cebe2ed136..041d6aa242 100755
--- a/www/cxx_status.html
+++ b/www/cxx_status.html
@@ -1003,14 +1003,13 @@ as the draft C++2a standard evolves.
</tr>
<tr> <!-- from Cologne -->
<td><a href="http://wg21.link/p1331r2">P1331R2</a></td>
- <td rowspan="2" class="svn" align="center">SVN</td>
+ <td rowspan="3" class="svn" align="center">SVN</td>
</tr>
<tr>
<td><a href="http://wg21.link/p1668r1">P1668R1</a></td>
</tr>
<tr>
<td><a href="http://wg21.link/p0784r7">P0784R7</a></td>
- <td class="partial" align="center">Partial</td>
</tr>
<tr>
<td>Prohibit aggregates with user-declared constructors</td>