Попробуйте gcc -Wall -Wconversion -Wpointer-arith -Wtype-limits -Wcast-qual
На самом деле, прочитайте справочную страницу gcc, есть множество предупреждений, и некоторые из них могут быть полезны, только если ваш код не производит их из-за того, что вы знаете, на самом деле не проблема. -Wall, -pedantic и -Wextra - это мета-флаги, которые включают кучу предупреждений. -Все включены многие из важных, которые произойдут при попытке 64-битной сборки кода, который делает плохие вещи.
-Werror
(превратить предупреждения в ошибки) может быть полезно, чтобы избежать необходимости make clean
после исправления некоторых, но не всех ошибок.