blob: 4a0be6eae7fc9c9e5b9c7599b2eee573699c51d0 [file] [log] [blame]
// Warning flags to be used for all library and example code.
//
// Clang's warning reference: https://clang.llvm.org/docs/DiagnosticsReference.html
// General xcconfig docs: https://pewpewthespells.com/blog/xcconfig_guide.html
//
// * Our basic warnings cover most things and make warnings into errors.
// * If a warning is (transitively) enabled by our basic warnings, do not include it separately.
// * For warnings not enabled by our basic warnings, add them to the extra warnings.
// * To change a warning-as-error into just a warning, add it to the ignorable warnings using the
// format `-Wno-error=<warning>`.
// * To disable a warning completely, add it to the disabled warnings using the format
// `-Wno-<warning>`.
//
MDC_BASIC_WARNINGS = -Wall -Wextra -Werror
MDC_EXTRA_WARNINGS = -Wcast-align -Wconversion -Watomic-properties -Wmissing-prototypes -Wnewline-eof -Woverlength-strings -Wshadow -Wstrict-selector-match -Wundeclared-selector -Wunreachable-code -Wstrict-prototypes
MDC_IGNORABLE_WARNINGS = -Wno-error=deprecated -Wno-error=deprecated-implementations
MDC_DISABLED_WARNINGS = -Wno-partial-availability -Wno-sign-conversion -Wno-unused-parameter
WARNING_CFLAGS = $(inherited) $(MDC_BASIC_WARNINGS) $(MDC_EXTRA_WARNINGS) $(MDC_IGNORABLE_WARNINGS) $(MDC_DISABLED_WARNINGS)