================
@@ -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