Running ./dev build on x86_64 with Clang would by default (see manuals for Clang 7 and Clang 18) produce about 2200 lines of -Watomic-alignment warnings, like:
../src/hatrack/hash/crown.c:416:25: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment]
416 | record = atomic_read(&cur->record);
| ^
../include/hatrack/hatomic.h:35:24: note: expanded from macro 'atomic_read'
35 | #define atomic_read(x) atomic_load_explicit(x, memory_order_relaxed)
| ^
/usr/lib/clang/17/include/stdatomic.h:141:30: note: expanded from macro 'atomic_load_explicit'
141 | #define atomic_load_explicit __c11_atomic_load
| ^
But it's intentional that we use the emulation where it's not supported in hardware. Suppress those warnings.
Running
./dev build
on x86_64 with Clang would by default (see manuals for Clang 7 and Clang 18) produce about 2200 lines of -Watomic-alignment warnings, like:But it's intentional that we use the emulation where it's not supported in hardware. Suppress those warnings.
Closes: https://github.com/crashappsec/libcon4m/issues/68