Редактировать: вы можете сделать определенные предупреждения, которые рассматриваются как ошибки в GCC / Clang, с этим флагом: -Werror=<warning name>
.
Вы можете рассматривать предупреждения как ошибки в GCC (или Clang), используя флаг -Werror
. Другие компиляторы имеют свои собственные соответствующие флаги.
Тогда вы получите что-то вроде этого:
prog.c: In function 'doStuff':
prog.c:4:17: error: unused parameter 'pA' [-Werror=unused-parameter]
4 | void doStuff(A* pA) {};
| ~~~^~
prog.c: In function 'main':
prog.c:8:12: error: passing argument 1 of 'doStuff' from incompatible pointer type [-Werror=incompatible-pointer-types]
8 | doStuff(&b);
| ^~
| |
| B * {aka struct B *}
prog.c:4:17: note: expected 'A *' {aka 'struct A *'} but argument is of type 'B *' {aka 'struct B *'}
4 | void doStuff(A* pA) {};
| ~~~^~
cc1: all warnings being treated as errors
Демонстрация в реальном времени