-Wall -Wempty-body -Wformat -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-include-dirs -Wno-strict-aliasing -Wno-uninitialized -Wredundant-decls -Wreturn-type -Wshadow -Wswitch-default -Wswitch-enum -Wundef -Wuninitialized -Wexpansion-to-defined