================
@@ -986,6 +990,18 @@ def StdcRotateRightTyped : LibBuiltin<"stdbit.h", 
"C2Y_LANG">, IntBitUtilTemplat
   let Prototype = "T(T, unsigned int)";
 }
 
+def StdcMemReverse8: Builtin {
+  let Spellings = ["__builtin_stdc_memreverse8"];
+  let Attributes = [NoThrow, NonNull<NonOptimizing, [1]>];
+  let Prototype = "void(size_t, unsigned char*)";
----------------
AaronBallman wrote:

I think this prototype is reasonable as-is, but the official prototype is:
```
void stdc_memreverse8(size_t n, unsigned char ptr[static n]);
```
and that actually associates some good bounds information that could be used by 
other analyses, at least in C. Nothing to change, but it might be nice if we 
had a way to use the correct signature for C and fall back to the decayed 
signature for C++.

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

Reply via email to