-std=gnu99 -pedantic -Wall -fdiagnostics-generate-patch -Wextra -Wdouble-promotion -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation=2 -Wnull-dereference -Winit-self -Wimplicit-fallthrough=5 -Wmissing-attributes -Wmissing-include-dirs -Wshift-overflow=2 -Wswitch-default -Wswitch-enum -Wunused -Wunused-parameter -Wunused-result -Wunused-const-variable=2 -Wuninitialized -Wunknown-pragmas -Wstrict-overflow=5 -Wstringop-overflow=4 -Wstringop-truncation -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn -Wsuggest-attribute=malloc -Wsuggest-attribute=format -Wsuggest-attribute=cold -Walloc-zero -Walloc-size-larger-than=10KiB -Walloca -Walloca-larger-than=1000 -Warray-bounds=2 -Wattribute-alias -Wduplicated-branches -Wduplicated-cond -Wtrampolines -Wfloat-equal -Wdeclaration-after-statement -Wshadow=global -Wshadow=local -Wlarger-than=8192 -Wframe-larger-than=8192 -Wstack-usage=8192 -Wunsafe-loop-optimizations -Wpedantic -Wundef -Wunused-macros -Wbad-function-cast -Wcast-qual -Wcast-align=strict -Wwrite-strings -Wconversion -Wdangling-else -Wdate-time -Wjump-misses-init -Wsign-conversion -Wfloat-conversion -Wlogical-op -Waggregate-return -Wno-aggressive-loop-optimizations -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wnormalized -Wpacked -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvector-operation-performance -Wvla -Wdisabled-optimization -Wstack-protector -Woverlength-strings -g -O2 -fsanitize=leak -fsanitize=undefined -fsanitize-address-use-after-scope -fstack-protector-all -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fasynchronous-unwind-tables -fexceptions -fpie -Wl,-pie -fstack-clash-protection -grecord-gcc-switches -fcf-protection -pipe -Werror=format-security -Werror=implicit-function-declaration -Wl,-z,defs -Wl,-z,now -Wl,-z,relro