I propose using following set of GCC flags to enforce code quality in the long run.
-Wall -Wextra -Werror\ -std=gnu11\ -pedantic \ -Wchar-subscripts\ -Wformat\ -Wformat-nonliteral\ -Wformat-security\ -Wmissing-braces\ -Wparentheses\ -Wsequence-point\ -Wswitch\ -Wtrigraphs\ -Wno-unused-function\ -Wunused-label\ -Wno-unused-parameter\ -Wunused-variable\ -Wunused-value\ -Wuninitialized\ -Wdiv-by-zero\ -Wfloat-equal\ -Wdouble-promotion\ -fsingle-precision-constant\ -Wshadow\ -Wpointer-arith\ -Wwrite-strings\ -Wconversion\ -Wredundant-decls\ -Wunreachable-code\ -Winline\ -Wenum-compare \ -Wlong-long\ -Wchar-subscripts