================
@@ -839,6 +839,12 @@ def BuiltinAssumeAligned : Builtin {
   let Prototype = "void*(void const*, size_t, ...)";
 }
 
+def BuiltinAssumeDereferenceable : Builtin {
+  let Spellings = ["__builtin_assume_dereferenceable"];
+  let Attributes = [NoThrow, Const, Constexpr];
----------------
philnik777 wrote:

I think we should make sure that the claimed range is actually dereferenceable, 
just like we check in `__builtin_assume_aligned` that that pointer is actually 
guaranteed to be aligned properly. I don't know how complicated that would be.

https://github.com/llvm/llvm-project/pull/121789
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to