#!/bin/sh exec gcc \ -fdiagnostics-color=auto \ \ -pedantic -Wall -Wextra -Wdouble-promotion -Wformat=2 -Winit-self -Wmissing-include-dirs -Wtrampolines \ -Wfloat-equal -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs \ -Winline -Wno-variadic-macros -Wduplicated-cond -Wexpansion-to-defined -Wmissing-field-initializers \ -Wdangling-else -Wswitch-bool -Wswitch-enum -Wswitch-unreachable -Wmissing-declarations -Wpointer-arith \ -Wpointer-compare -Wunused -Wunused-local-typedefs -Wunused-macros -Walloc-zero -Wsizeof-array-argument \ -Woverlength-strings -Winvalid-memory-model -Wunused-but-set-variable -Wcoverage-mismatch \ -Woverride-init-side-effects -Wshift-count-negative -Wshift-count-overflow -Wodr -Whsa -Wnull-dereference \ -Wdate-time -Winvalid-pch -Wignored-attributes -Wincompatible-pointer-types -Wjump-misses-init \ -Wformat-security -Wformat-signedness -Wformat-nonliteral -Wformat-y2k -Wframe-address -Wfloat-equal \ -Wdisabled-optimization -Wstringop-overflow=4 -Wformat-overflow=2 -Wformat-truncation=2 -Wshift-overflow=2 \ -Wstrict-aliasing=3 -Warray-bounds=2 -Wshadow=global \ \ -Wsync-nand -Wunsafe-loop-optimizations -Wcast-align -Wstrict-overflow -Wdeclaration-after-statement \ -Wundef -Wbad-function-cast -Wcast-qual -Wwrite-strings -Wlogical-op -Waggregate-return -Wstrict-prototypes \ -Wold-style-definition -Wpacked -Wvector-operation-performance -Wunsuffixed-float-constants \ -Wsuggest-attribute=const -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wsuggest-attribute=format \ -Wnormalized=nfkc -Wconversion \ \ -fstrict-aliasing -fstrict-overflow -fipa-pure-const -ftree-vrp -fstack-usage -funsafe-loop-optimizations \ \ "$@" # C++: -Weffc++ -Wc++11-compat -Wzero-as-null-pointer-constant -Wuseless-cast # Ignored: -Wswitch-default -Wc++-compat -Wpadded -Wtraditional -Wtraditional-conversion -Walloca