mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-17 08:21:13 +00:00
[C++20] Claim full support for consteval again
After resolving several outstanding issues now is the time to mark it as fully supported. Fixes https://github.com/llvm/llvm-project/issues/57094 Reviewed By: aaron.ballman, cor3ntin, #clang-language-wg Differential Revision: https://reviews.llvm.org/D147717
This commit is contained in:
parent
d209084720
commit
bba6ea8c2d
@ -111,6 +111,7 @@ C++20 Feature Support
|
||||
SFINAE.
|
||||
- Clang now supports `requires cplusplus20` for module maps.
|
||||
- Implemented missing parts of `P2002R1: Consistent comparison operators <https://wg21.link/P2002R1>`_
|
||||
- Clang now defines `__cpp_consteval` macro.
|
||||
|
||||
C++23 Feature Support
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -683,7 +683,7 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
|
||||
// Refer to the discussion of this at https://reviews.llvm.org/D128619.
|
||||
Builder.defineMacro("__cpp_concepts", "201907L");
|
||||
Builder.defineMacro("__cpp_conditional_explicit", "201806L");
|
||||
// Builder.defineMacro("__cpp_consteval", "202211L");
|
||||
Builder.defineMacro("__cpp_consteval", "202211L");
|
||||
Builder.defineMacro("__cpp_constexpr_dynamic_alloc", "201907L");
|
||||
Builder.defineMacro("__cpp_constinit", "201907L");
|
||||
Builder.defineMacro("__cpp_impl_coroutine", "201902L");
|
||||
|
@ -78,8 +78,7 @@
|
||||
#error "wrong value for __cpp_conditional_explicit"
|
||||
#endif
|
||||
|
||||
#if check(consteval, 0, 0, 0, 0, 0, 0)
|
||||
// FIXME: 201811 in C++20
|
||||
#if check(consteval, 0, 0, 0, 0, 202211, 202211)
|
||||
#error "wrong value for __cpp_consteval"
|
||||
#endif
|
||||
|
||||
|
@ -643,14 +643,7 @@ C++23, informally referred to as C++26.</p>
|
||||
<tr>
|
||||
<td rowspan=2>Immediate functions (<tt>consteval</tt>)</td>
|
||||
<td><a href="https://wg21.link/p1073r3">P1073R3</a></td>
|
||||
<td class="partial" align="center">
|
||||
<details><summary>Clang 15 (Partial)</summary>
|
||||
Clang still incorrectly defers some consteval executions to runtime,
|
||||
resulting in CodeGen crashes. Additionally, Clang does not properly
|
||||
handle default arguments in consteval functions under all
|
||||
circumstances.
|
||||
</details>
|
||||
</td>
|
||||
<td class="full" align="center">Clang 17</td>
|
||||
</tr>
|
||||
<tr> <!-- from Prague -->
|
||||
<td><a href="https://wg21.link/p1937r2">P1937R2</a></td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user