[clang] [Clang][C++23] Implement P1774R8: Portable assumptions (PR #81014)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 7 10:46:01 PST 2024


================
@@ -1996,6 +1996,30 @@ Here is an example:
   }];
 }
 
+def AssumeDocs : Documentation {
+  let Category = DocCatStmt;
+  let Heading = "assume";
+  let Content = [{
+The ``assume`` attribute is used to indicate to the optimizer that a
+certain condition can be assumed to be true at a certain point in the
+program. If this condition is violated at runtime, the behavior is
----------------
erichkeane wrote:

It came from memory of the discussion in EWG, though I note that the paper is actually pretty confusing about this, it calls it both 'not evaluated' (https://eel.is/c++draft/dcl.attr.assume#sentence-3) AND 'potentially evaluated' : https://eel.is/c++draft/dcl.attr.assume#sentence-6.

So I'm not sure actually...


https://github.com/llvm/llvm-project/pull/81014


More information about the cfe-commits mailing list