Martin Vogel
6e4ca93cf0
Split 168 functions to cognitive complexity 25, zero lint errors
...
Lower thresholds to industry defaults:
cognitive-complexity: 25 (was 250)
statements: 200 (was 400)
lines: 400 (was 800)
All 168 functions split into smaller helpers across 44 files.
Zero NOLINTNEXTLINE suppressions remain. Zero clang-tidy errors.
Add clang-tidy to scripts/lint.sh (--ci to skip where unavailable).
Fix sqlite_writer B-tree PageRef initialization. Fix Terraform struct
parsing, Louvain null guards, const qualifiers, shadow variables.
2741 tests pass.
2026-03-31 20:04:12 +02:00
Martin Vogel
8f225a37dd
Use cc (Apple Clang) on macOS, gcc on Linux — unified CI/local parity
...
- Add scripts/env.sh: detects true hardware arch (even under Rosetta),
verifies compiler supports target arch, adds arch prefix on macOS
- macOS uses cc/c++ everywhere (tests + builds) — ASan works natively
- Linux uses gcc/g++ everywhere — full sanitizer support
- Remove broken CC ?= gcc-14 from Makefile (GNU Make built-in overrides it)
- Scripts accept --arch flag and CC=/CXX= overrides
2026-03-18 13:08:33 +01:00
Martin Vogel
fd1640ec29
Add build scripts, fix GCC warnings, unify CI workflows
...
- Add scripts/clean.sh, test.sh, build.sh, lint.sh as single source
of truth for local and CI builds (always clean, always parallel)
- Fix -Wmissing-braces: replace {{0}} with memset for struct arrays
- Fix -Wrestrict: use intermediate buffer for same-struct snprintf
- Update dry-run.yml and release.yml to use the new scripts
2026-03-18 12:31:53 +01:00