Hacker News new | past | comments | ask | show | jobs | submit login

We use -Wall -Werror -Wextra -Weverything, plus we use clang-tidy with -Werror as well, plus we use ASan, TSan, MSan, UBSan, plus fuzzing (5+ different types of it), plus we update to the latest compiler on every release, so today it is clang-17, and we build every dependency from source, and always use hermetic builds (cross-compiling).

I think it is the only sane way for C++.

https://github.com/ClickHouse/ClickHouse/




-Weverything is explicitly not supported in clang and not supposed to produce working results.

Same in gcc, it will give you wrong warnings like -Wstrict-aliasing.


I don’t do -Weverything but generally most of the rest. I am in the maximum build hygiene camp, which means builds have to work across GCC and Clang, and x86-64 and ARM64, or they fail in CI. It finds quite a few compiler bugs as well as subtle code bugs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: