aboutsummaryrefslogtreecommitdiff
path: root/clang/www
diff options
context:
space:
mode:
authorSirraide <aeternalmail@gmail.com>2024-03-09 12:07:16 +0100
committerGitHub <noreply@github.com>2024-03-09 12:07:16 +0100
commit2b5f68a5f63d2342a056bf9f86bd116c100fd81a (patch)
tree2831699172fa824863d5d321e9054fa7816bc960 /clang/www
parent9df719407f808d71d3bf02867da2b01617ef3d55 (diff)
downloadllvm-2b5f68a5f63d2342a056bf9f86bd116c100fd81a.zip
llvm-2b5f68a5f63d2342a056bf9f86bd116c100fd81a.tar.gz
llvm-2b5f68a5f63d2342a056bf9f86bd116c100fd81a.tar.bz2
[Clang][C++23] Implement P1774R8: Portable assumptions (#81014)
This implements the C++23 `[[assume]]` attribute. Assumption information is lowered to a call to `@llvm.assume`, unless the expression has side-effects, in which case it is discarded and a warning is issued to tell the user that the assumption doesn’t do anything. A failed assumption at compile time is an error (unless we are in `MSVCCompat` mode, in which case we don’t check assumptions at compile time). Due to performance regressions in LLVM, assumptions can be disabled with the `-fno-assumptions` flag. With it, assumptions will still be parsed and checked, but no calls to `@llvm.assume` will be emitted and assumptions will not be checked at compile time.
Diffstat (limited to 'clang/www')
-rwxr-xr-xclang/www/cxx_status.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html
index a3090ad..66a2b11 100755
--- a/clang/www/cxx_status.html
+++ b/clang/www/cxx_status.html
@@ -381,7 +381,7 @@ C++23, informally referred to as C++26.</p>
<tr>
<td>Portable assumptions</td>
<td><a href="https://wg21.link/P1774R8">P1774R8</a></td>
- <td class="none" align="center">No</td>
+ <td class="full" align="center">Clang 19</td>
</tr>
<tr>
<td>Support for UTF-8 as a portable source file encoding</td>