docs: rename reserved __ identifiers in SW_STATIC_ASSERT fallback
Round-4 review: Codex and Kimi both requested changes — the fallback assertion's helper identifiers used double underscores (`SW__SA_CAT_`, `SW__SA_CAT`, and the generated `sw__static_assert_` typedef prefix). Any identifier containing `__` is reserved to the implementation in C and C++, so a public header must not define them; `clang -Wreserved-identifier -Werror` flags them on the C++98 fallback path. Rename to non-reserved, project-private names (single underscores throughout): - `SW__SA_CAT_` -> `SW_STATIC_ASSERT_CAT_` - `SW__SA_CAT` -> `SW_STATIC_ASSERT_CAT` - `sw__static_assert_` -> `sw_static_assert_` Also address the non-blocking nits: - The macro comment said "C89+", but the header includes <stdint.h> (C99); say "C99+, C++98+" so it doesn't oversell portability. (Copilot, Kimi) - The §4 Python FFI snippet referenced EXPECTED_MAJOR without defining it; add `EXPECTED_MAJOR = 1 # must match SW_API_VERSION_MAJOR ...` so it is runnable. (Copilot, Kimi) Verified across the full matrix with -Wall -Wextra -Werror -Wconversion -Wshadow -Wpedantic -fsyntax-only: - gcc/clang c99/c11/c17 and g++/clang++ c++98/c++11/c++17 -> clean; - clang/clang++ with -Wreserved-identifier (c99, c++98, c++17) -> clean; - gcc -fshort-enums still fails the width asserts in c99 and c17; - uv run pytest -> 42 passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
C
Claude Coder committed
94dda48592ca57950ad8e8152276bc0580a9f09b
Parent: c0e391a