style(string): satisfy clang-tidy and clang-format for final-wave gate

Suppress clang-analyzer-security buffer-handling diagnostics on the
plan-mandated __builtin_memcpy word loads and bugprone swappable-
parameter diagnostics on the C-standard signatures; wrap the autoconf
substitution tokens in clang-format off/on (the space clang-format wants
before the closing @ would break config.status substitution).

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <[email protected]>
This commit is contained in:
2026-08-31 21:34:25 -04:00
co-authored by Sisyphus
parent 53c8531eab
commit 6854c7771d
6 changed files with 16 additions and 15 deletions
+4 -5
View File
@@ -16,9 +16,8 @@
* self-recursion and stack overflow. Disable that one transformation for
* this function only.
*/
__attribute__((optimize("no-tree-loop-distribute-patterns")))
void *
memcpy(void *restrict dst, const void *restrict src, size_t n)
__attribute__((optimize("no-tree-loop-distribute-patterns"))) void *
memcpy(void *restrict dst, const void *restrict src, size_t n) // NOLINT(bugprone-*)
{
const unsigned long word = sizeof(unsigned long);
unsigned char *d = dst;
@@ -35,8 +34,8 @@ memcpy(void *restrict dst, const void *restrict src, size_t n)
{
unsigned long w;
__builtin_memcpy(&w, s, sizeof w);
__builtin_memcpy(d, &w, sizeof w);
__builtin_memcpy(&w, s, sizeof w); // NOLINT(clang-analyzer-security.insecureAPI.*)
__builtin_memcpy(d, &w, sizeof w); // NOLINT(clang-analyzer-security.insecureAPI.*)
d += word;
s += word;
n -= word;