Skip to content

Instantly share code, notes, and snippets.

@siemensikkema
Created July 24, 2016 18:44
Show Gist options
  • Save siemensikkema/3dbaa0f6d9d79bf50d610576620a6dfd to your computer and use it in GitHub Desktop.
Save siemensikkema/3dbaa0f6d9d79bf50d610576620a6dfd to your computer and use it in GitHub Desktop.
// XCConfig file to enable all Swift compiler warnings
// Original by Jon Reid (see below).
// Modified by Siemen Sikkema: removed non-swift warnings
// XcodeWarnings by Jon Reid, http://qualitycoding.org/about/
// Source: https://github.com/jonreid/XcodeWarnings
// Apple LLVM 7.0 - Warning Policies
//GCC_TREAT_WARNINGS_AS_ERRORS = YES
// Apple LLVM 7.0 - Warnings - All languages
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
CLANG_WARN_DOCUMENTATION_COMMENTS = YES
CLANG_WARN_EMPTY_BODY = YES
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
GCC_WARN_SHADOW = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_INT_CONVERSION = YES
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR
GCC_WARN_MISSING_PARENTHESES = YES
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
CLANG_WARN_ASSIGN_ENUM = YES
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES
GCC_WARN_SIGN_COMPARE = YES
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE
GCC_WARN_UNKNOWN_PRAGMAS = YES
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE
GCC_WARN_UNUSED_FUNCTION = YES
GCC_WARN_UNUSED_LABEL = YES
GCC_WARN_UNUSED_PARAMETER = YES
GCC_WARN_UNUSED_VALUE = YES
GCC_WARN_UNUSED_VARIABLE = YES
// Static Analyzer - Analysis Policy
RUN_CLANG_STATIC_ANALYZER = YES
CLANG_STATIC_ANALYZER_MODE_ON_ANALYZE_ACTION = Deep
CLANG_STATIC_ANALYZER_MODE = Deep
// Static Analyzer - Generic Issues
CLANG_ANALYZER_DEADCODE_DEADSTORES = YES
CLANG_ANALYZER_MEMORY_MANAGEMENT = YES
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = YES
CLANG_ANALYZER_NONNULL = YES
CLANG_ANALYZER_GCD = YES
// Static Analyzer - Checks - Security
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment