================
@@ -10253,3 +10253,52 @@ The attribute is also supported with blocks and in 
Objective-C.
   }
   }];
 }
+
+def ConstDocs :  Documentation {
+  let Category = DocCatFunction;
+  let Content = [{
+The ``const`` attribute can be applied to the declaration of a function to 
signal that repeated calls to the function with the same argument values may be 
safe to elide because the subsequent calls will always return the same value as 
the initial call.
+
+The attribute informs the optimizer that the function cannot read or write to 
memory, does not support unwinding, will return (has no infinite loops), and 
that any pointer or reference arguments to the call will not be read from or 
written to.
----------------
AaronBallman wrote:

I documented #42620 because I don't believe that behavior is going to change.

But do we consider #13130 a bug? My impression is that we intend to fix that 
behavior at some point but it's an ancient bug so I'm trying to figure out 
whether we're basically stuck with what we've got.

As for #36098 I'm not certain if I've addressed your concerns or not; I 
reworded a bit more with one of the latest changes. If there's more here you'd 
like to have said, let me know.

https://github.com/llvm/llvm-project/pull/205881
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to