// This file is automatically generated. Do not edit this file by hand.

#ifdef GET_PACKAGES
PACKAGE("alpha.unix.cstring")
PACKAGE("alpha.clone")
PACKAGE("alpha")
PACKAGE("debug")
PACKAGE("nullability")
PACKAGE("optin.portability")
PACKAGE("unix.cstring")
PACKAGE("core.uninitialized")
PACKAGE("apiModeling.llvm")
PACKAGE("apiModeling.google")
PACKAGE("webkit")
PACKAGE("alpha.security.taint")
PACKAGE("alpha.cplusplus")
PACKAGE("alpha.osx.cocoa")
PACKAGE("alpha.security.cert")
PACKAGE("cplusplus")
PACKAGE("osx.coreFoundation.containers")
PACKAGE("osx.cocoa")
PACKAGE("optin.osx.cocoa.localizability")
PACKAGE("optin.osx")
PACKAGE("alpha.security")
PACKAGE("security")
PACKAGE("alpha.unix")
PACKAGE("alpha.core")
PACKAGE("optin.mpi")
PACKAGE("security.insecureAPI")
PACKAGE("alpha.apiModeling")
PACKAGE("unix")
PACKAGE("osx.coreFoundation")
PACKAGE("apiModeling")
PACKAGE("core")
PACKAGE("optin")
PACKAGE("alpha.security.cert.pos")
PACKAGE("alpha.fuchsia")
PACKAGE("alpha.deadcode")
PACKAGE("alpha.security.cert.env")
PACKAGE("alpha.nondeterminism")
PACKAGE("optin.cplusplus")
PACKAGE("fuchsia")
PACKAGE("optin.osx.cocoa")
PACKAGE("deadcode")
PACKAGE("optin.performance")
PACKAGE("alpha.osx.cocoa.localizability")
PACKAGE("core.builtin")
PACKAGE("alpha.llvm")
PACKAGE("alpha.osx")
PACKAGE("valist")
PACKAGE("osx")
PACKAGE("llvm")
PACKAGE("alpha.webkit")
#endif // GET_PACKAGES


#ifdef GET_PACKAGE_OPTIONS
PACKAGE_OPTION("bool", "nullability", "NoDiagnoseCallsToSystemHeaders", "Suppresses warnings for violating nullability annotations of system header functions. This is useful if you are concerned with your custom nullability annotations more than with following nullability specifications of system header functions.", "false", "released", false)
#endif // GET_PACKAGE_OPTIONS


#ifdef GET_CHECKERS

CHECKER("debug.AnalysisOrder", AnalysisOrderChecker, "Print callbacks that are called during analysis in order", "", true)
CHECKER("debug.Stats", AnalyzerStatsChecker, "Emit warnings with analyzer statistics", "", true)
CHECKER("alpha.security.ArrayBound", ArrayBoundChecker, "Warn about buffer overflows (older checker)", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.ArrayBound", false)
CHECKER("alpha.security.ArrayBoundV2", ArrayBoundCheckerV2, "Warn about buffer overflows (newer checker)", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.ArrayBoundV2", false)
CHECKER("osx.cocoa.AutoreleaseWrite", AutoreleaseWriteChecker, "Warn about potentially crashing writes to autoreleasing objects from different autoreleasing pools in Objective-C", "", false)
CHECKER("alpha.unix.BlockInCriticalSection", BlockInCriticalSectionChecker, "Check for calls to blocking functions inside a critical section", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.BlockInCriticalSection", false)
CHECKER("alpha.core.BoolAssignment", BoolAssignmentChecker, "Warn about assigning non-{0,1} values to Boolean variables", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.BoolAssignment", false)
CHECKER("core.builtin.BuiltinFunctions", BuiltinFunctionChecker, "Evaluate compiler builtin functions (e.g., alloca())", "", true)
CHECKER("alpha.core.C11Lock", C11LockChecker, "Simple lock -> unlock checker", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.C11Lock", false)
CHECKER("osx.coreFoundation.CFError", CFErrorChecker, "Check usage of CFErrorRef* parameters", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFError", false)
CHECKER("debug.DumpCFG", CFGDumper, "Display Control-Flow Graphs", "", true)
CHECKER("debug.ViewCFG", CFGViewer, "View Control-Flow Graphs using GraphViz", "", true)
CHECKER("osx.coreFoundation.CFNumber", CFNumberChecker, "Check for proper uses of CFNumber APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFNumber", false)
CHECKER("osx.coreFoundation.CFRetainRelease", CFRetainReleaseChecker, "Check for null arguments to CFRetain/CFRelease/CFMakeCollectable", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFRetainRelease", false)
CHECKER("alpha.unix.cstring.BufferOverlap", CStringBufferOverlap, "Checks for overlap in two buffer arguments", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.cstring.BufferOverlap", false)
CHECKER("unix.cstring.CStringModeling", CStringModeling, "The base of several CString related checkers. On it's own it emits no reports, but adds valuable information to the analysis when enabled.", "", true)
CHECKER("alpha.unix.cstring.NotNullTerminated", CStringNotNullTerm, "Check for arguments which are not null-terminating strings", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.cstring.NotNullTerminated", false)
CHECKER("unix.cstring.NullArg", CStringNullArg, "Check for null pointers being passed as arguments to C string functions", "https://clang-analyzer.llvm.org/available_checks.html#unix.cstring.NullArg", false)
CHECKER("alpha.unix.cstring.OutOfBounds", CStringOutOfBounds, "Check for out-of-bounds access in string functions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.cstring.OutOfBounds", false)
CHECKER("unix.cstring.BadSizeArg", CStringSyntaxChecker, "Check the size argument passed into C string functions for common erroneous patterns", "https://clang-analyzer.llvm.org/available_checks.html#unix.cstring.BadSizeArg", false)
CHECKER("cplusplus.SelfAssignment", CXXSelfAssignmentChecker, "Checks C++ copy and move assignment operators for self assignment", "", true)
CHECKER("core.CallAndMessage", CallAndMessageChecker, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)", "https://clang-analyzer.llvm.org/available_checks.html#core.CallAndMessage", false)
CHECKER("core.CallAndMessageModeling", CallAndMessageModeling, "Responsible for essential modeling and assumptions after a function/method call. For instance, if we can't reason about the nullability of the implicit this parameter after a method call, this checker conservatively assumes it to be non-null", "https://clang-analyzer.llvm.org/available_checks.html#core.CallAndMessageModeling", true)
CHECKER("debug.DumpCalls", CallDumper, "Print calls as they are traversed by the engine", "", true)
CHECKER("debug.DumpCallGraph", CallGraphDumper, "Display Call Graph", "", true)
CHECKER("debug.ViewCallGraph", CallGraphViewer, "View Call Graph using GraphViz", "", true)
CHECKER("alpha.core.CastSize", CastSizeChecker, "Check when casting a malloc'ed type T, whether the size is a multiple of the size of T", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.CastSize", false)
CHECKER("alpha.core.CastToStruct", CastToStructChecker, "Check for cast from non-struct pointer to struct pointer", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.CastToStruct", false)
CHECKER("apiModeling.llvm.CastValue", CastValueChecker, "Model implementation of custom RTTIs", "", true)
CHECKER("alpha.unix.Chroot", ChrootChecker, "Check improper use of chroot", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.Chroot", false)
CHECKER("osx.cocoa.ClassRelease", ClassReleaseChecker, "Check for sending 'retain', 'release', or 'autorelease' directly to a Class", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.ClassRelease", false)
CHECKER("alpha.clone.CloneChecker", CloneChecker, "Reports similar pieces of code.", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.clone.CloneChecker", false)
CHECKER("debug.ConfigDumper", ConfigDumper, "Dump config table", "", true)
CHECKER("alpha.cplusplus.ContainerModeling", ContainerModeling, "Models C++ containers", "", true)
CHECKER("debug.DumpControlDependencies", ControlDependencyTreeDumper, "Print the post control dependency tree for a given CFG", "", true)
CHECKER("alpha.core.Conversion", ConversionChecker, "Loss of sign/precision in implicit conversions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.Conversion", false)
CHECKER("valist.CopyToSelf", CopyToSelfChecker, "Check for va_lists which are copied onto itself.", "", false)
CHECKER("deadcode.DeadStores", DeadStoresChecker, "Check for values stored to variables that are never read afterwards", "https://clang-analyzer.llvm.org/available_checks.html#deadcode.DeadStores", false)
CHECKER("debug.DebugContainerModeling", DebugContainerModeling, "Check the analyzer's understanding of C++ containers", "", true)
CHECKER("debug.DebugIteratorModeling", DebugIteratorModeling, "Check the analyzer's understanding of C++ iterators", "", true)
CHECKER("alpha.cplusplus.DeleteWithNonVirtualDtor", DeleteWithNonVirtualDtorChecker, "Reports destructions of polymorphic objects with a non-virtual destructor in their base class", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.DeleteWithNonVirtualDtor", false)
CHECKER("security.insecureAPI.DeprecatedOrUnsafeBufferHandling", DeprecatedOrUnsafeBufferHandling, "Warn on uses of unsecure or deprecated buffer manipulating functions", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.DeprecatedOrUnsafeBufferHandling", false)
CHECKER("core.NullDereference", DereferenceChecker, "Check for dereferences of null pointers", "https://clang-analyzer.llvm.org/available_checks.html#core.NullDereference", false)
CHECKER("alpha.osx.cocoa.DirectIvarAssignment", DirectIvarAssignment, "Check for direct assignments to instance variables", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.osx.cocoa.DirectIvarAssignment", false)
CHECKER("core.DivideZero", DivZeroChecker, "Check for division by zero", "https://clang-analyzer.llvm.org/available_checks.html#core.DivideZero", false)
CHECKER("debug.DumpDominators", DominatorsTreeDumper, "Print the dominance tree for a given CFG", "", true)
CHECKER("unix.DynamicMemoryModeling", DynamicMemoryModeling, "The base of several malloc() related checkers. On it's own it emits no reports, but adds valuable information to the analysis when enabled.", "", true)
CHECKER("alpha.core.DynamicTypeChecker", DynamicTypeChecker, "Check for cases where the dynamic and the static type of an object are unrelated.", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.DynamicTypeChecker", false)
CHECKER("core.DynamicTypePropagation", DynamicTypePropagation, "Generate dynamic type information", "", true)
CHECKER("optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", EmptyLocalizationContextChecker, "Check that NSLocalizedString macros include a comment for context", "https://clang-analyzer.llvm.org/available_checks.html#optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", false)
CHECKER("alpha.cplusplus.EnumCastOutOfRange", EnumCastOutOfRangeChecker, "Check integer to enumeration casts for out of range values", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.EnumCastOutOfRange", false)
CHECKER("debug.ViewExplodedGraph", ExplodedGraphViewer, "View Exploded Graphs using GraphViz", "", true)
CHECKER("debug.ExprInspection", ExprInspectionChecker, "Check the analyzer's understanding of expressions", "", true)
CHECKER("alpha.core.FixedAddr", FixedAddressChecker, "Check for assignment of a fixed address to a pointer", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.FixedAddr", false)
CHECKER("security.FloatLoopCounter", FloatLoopCounter, "Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)", "https://clang-analyzer.llvm.org/available_checks.html#security.FloatLoopCounter", false)
CHECKER("fuchsia.HandleChecker", FuchsiaHandleChecker, "A Checker that detect leaks related to Fuchsia handles", "https://clang-analyzer.llvm.org/available_checks.html#fuchsia.HandleChecker", false)
CHECKER("alpha.fuchsia.Lock", FuchsiaLockChecker, "Check for the correct usage of locking APIs.", "https://clang-analyzer.llvm.org/available_checks.html#alpha.fuchsia.Lock", false)
CHECKER("optin.performance.GCDAntipattern", GCDAntipattern, "Check for performance anti-patterns when using Grand Central Dispatch", "", false)
CHECKER("apiModeling.google.GTest", GTestChecker, "Model gtest assertion APIs", "", true)
CHECKER("alpha.security.taint.TaintPropagation", GenericTaintChecker, "Generate taint information used by other checkers", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.taint.TaintPropagation", false)
CHECKER("alpha.core.IdenticalExpr", IdenticalExprChecker, "Warn about unintended use of identical expressions in operators", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.IdenticalExpr", false)
CHECKER("cplusplus.InnerPointer", InnerPointerChecker, "Check for inner pointers of C++ containers used after re/deallocation", "", false)
CHECKER("alpha.osx.cocoa.InstanceVariableInvalidation", InstanceVariableInvalidation, "Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.osx.cocoa.InstanceVariableInvalidation", false)
CHECKER("alpha.security.cert.env.InvalidPtr", InvalidPtrChecker, "Finds usages of possibly invalidated pointers", "https://clang-analyzer.llvm.org/available_checks.html#alpha.security.cert.env.InvalidPtr", false)
CHECKER("alpha.cplusplus.InvalidatedIterator", InvalidatedIteratorChecker, "Check for use of invalidated iterators", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.InvalidatedIterator", false)
CHECKER("alpha.cplusplus.IteratorModeling", IteratorModeling, "Models iterators of C++ containers", "", true)
CHECKER("alpha.cplusplus.IteratorRange", IteratorRangeChecker, "Check for iterators used outside their valid ranges", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.IteratorRange", false)
CHECKER("alpha.osx.cocoa.IvarInvalidationModeling", IvarInvalidationModeling, "Gathers information for annotation driven invalidation checking for classes that contains a method annotated with 'objc_instance_variable_invalidator'", "", true)
CHECKER("alpha.llvm.Conventions", LLVMConventionsChecker, "Check code for LLVM codebase conventions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.llvm.Conventions", false)
CHECKER("debug.DumpLiveExprs", LiveExpressionsDumper, "Print results of live expression analysis", "", true)
CHECKER("debug.DumpLiveVars", LiveVariablesDumper, "Print results of live variable analysis", "", true)
CHECKER("osx.MIG", MIGChecker, "Find violations of the Mach Interface Generator calling convention", "", false)
CHECKER("optin.mpi.MPI-Checker", MPIChecker, "Checks MPI code", "https://clang-analyzer.llvm.org/available_checks.html#optin.mpi.MPI-Checker", false)
CHECKER("osx.SecKeychainAPI", MacOSKeychainAPIChecker, "Check for proper uses of Secure Keychain APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.SecKeychainAPI", false)
CHECKER("osx.API", MacOSXAPIChecker, "Check for proper uses of various Apple APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.API", false)
CHECKER("unix.Malloc", MallocChecker, "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free().", "https://clang-analyzer.llvm.org/available_checks.html#unix.Malloc", false)
CHECKER("alpha.security.MallocOverflow", MallocOverflowSecurityChecker, "Check for overflows in the arguments to malloc()", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.MallocOverflow", false)
CHECKER("unix.MallocSizeof", MallocSizeofChecker, "Check for dubious malloc arguments involving sizeof", "https://clang-analyzer.llvm.org/available_checks.html#unix.MallocSizeof", false)
CHECKER("unix.MismatchedDeallocator", MismatchedDeallocatorChecker, "Check for mismatched deallocators.", "https://clang-analyzer.llvm.org/available_checks.html#unix.MismatchedDeallocator", false)
CHECKER("alpha.cplusplus.MismatchedIterator", MismatchedIteratorChecker, "Check for use of iterators of different containers where iterators of the same container are expected", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.MismatchedIterator", false)
CHECKER("alpha.osx.cocoa.MissingInvalidationMethod", MissingInvalidationMethod, "Check that the invalidation methods are present in classes that contain invalidatable instance variables", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.osx.cocoa.MissingInvalidationMethod", false)
CHECKER("alpha.security.MmapWriteExec", MmapWriteExecChecker, "Warn on mmap() calls that are both writable and executable", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.MmapWriteExec", false)
CHECKER("cplusplus.Move", MoveChecker, "Find use-after-move bugs in C++", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.Move", false)
CHECKER("osx.cocoa.NSAutoreleasePool", NSAutoreleasePoolChecker, "Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.NSAutoreleasePool", false)
CHECKER("osx.cocoa.NSError", NSErrorChecker, "Check usage of NSError** parameters", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.NSError", false)
CHECKER("osx.NSOrCFErrorDerefChecker", NSOrCFErrorDerefChecker, "Implementation checker for NSErrorChecker and CFErrorChecker", "", true)
CHECKER("cplusplus.NewDelete", NewDeleteChecker, "Check for double-free and use-after-free problems. Traces memory managed by new/delete.", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.NewDelete", false)
CHECKER("cplusplus.NewDeleteLeaks", NewDeleteLeaksChecker, "Check for memory leaks. Traces memory managed by new/delete.", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.NewDeleteLeaks", false)
CHECKER("osx.cocoa.NilArg", NilArgChecker, "Check for prohibited nil arguments to ObjC method calls", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.NilArg", false)
CHECKER("core.builtin.NoReturnFunctions", NoReturnFunctionChecker, "Evaluate \"panic\" functions that are known to not return to the caller", "", true)
CHECKER("webkit.NoUncountedMemberChecker", NoUncountedMemberChecker, "Check for no uncounted member variables.", "https://clang-analyzer.llvm.org/available_checks.html#webkit.NoUncountedMemberChecker", false)
CHECKER("optin.osx.cocoa.localizability.NonLocalizedStringChecker", NonLocalizedStringChecker, "Warns about uses of non-localized NSStrings passed to UI methods expecting localized NSStrings", "https://clang-analyzer.llvm.org/available_checks.html#optin.osx.cocoa.localizability.NonLocalizedStringChecker", false)
CHECKER("core.NonNullParamChecker", NonNullParamChecker, "Check for null pointers passed as arguments to a function whose arguments are references or marked with the 'nonnull' attribute", "https://clang-analyzer.llvm.org/available_checks.html#core.NonNullParamChecker", false)
CHECKER("core.NonnilStringConstants", NonnullGlobalConstantsChecker, "Assume that const string-like globals are non-null", "", true)
CHECKER("nullability.NullPassedToNonnull", NullPassedToNonnullChecker, "Warns when a null pointer is passed to a pointer which has a _Nonnull type.", "https://clang-analyzer.llvm.org/available_checks.html#nullability.NullPassedToNonnull", false)
CHECKER("nullability.NullReturnedFromNonnull", NullReturnedFromNonnullChecker, "Warns when a null pointer is returned from a function that has _Nonnull return type.", "https://clang-analyzer.llvm.org/available_checks.html#nullability.NullReturnedFromNonnull", false)
CHECKER("nullability.NullabilityBase", NullabilityBase, "Stores information during the analysis about nullability.", "", true)
CHECKER("nullability.NullableDereferenced", NullableDereferencedChecker, "Warns when a nullable pointer is dereferenced.", "https://clang-analyzer.llvm.org/available_checks.html#nullability.NullableDereferenced", false)
CHECKER("nullability.NullablePassedToNonnull", NullablePassedToNonnullChecker, "Warns when a nullable pointer is passed to a pointer which has a _Nonnull type.", "https://clang-analyzer.llvm.org/available_checks.html#nullability.NullablePassedToNonnull", false)
CHECKER("nullability.NullableReturnedFromNonnull", NullableReturnedFromNonnullChecker, "Warns when a nullable pointer is returned from a function that has _Nonnull return type.", "", false)
CHECKER("osx.NumberObjectConversion", NumberObjectConversionChecker, "Check for erroneous conversions of objects representing numbers into numbers", "", false)
CHECKER("optin.osx.OSObjectCStyleCast", OSObjectCStyleCast, "Checker for C-style casts of OSObjects", "", false)
CHECKER("osx.OSObjectRetainCount", OSObjectRetainCountChecker, "Check for leaks and improper reference count management for OSObject", "", false)
CHECKER("osx.cocoa.AtSync", ObjCAtSyncChecker, "Check for nil pointers used as mutexes for @synchronized", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.AtSync", false)
CHECKER("osx.coreFoundation.containers.PointerSizedValues", ObjCContainersASTChecker, "Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.containers.PointerSizedValues", false)
CHECKER("osx.coreFoundation.containers.OutOfBounds", ObjCContainersChecker, "Checks for index out-of-bounds when using 'CFArray' API", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.containers.OutOfBounds", false)
CHECKER("osx.cocoa.Dealloc", ObjCDeallocChecker, "Warn about Objective-C classes that lack a correct implementation of -dealloc", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.Dealloc", false)
CHECKER("osx.cocoa.ObjCGenerics", ObjCGenericsChecker, "Check for type errors when using Objective-C generics", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.ObjCGenerics", false)
CHECKER("osx.cocoa.Loops", ObjCLoopChecker, "Improved modeling of loops using Cocoa collection types", "", false)
CHECKER("osx.cocoa.IncompatibleMethodTypes", ObjCMethSigsChecker, "Warn about Objective-C method signatures with type incompatibilities", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.IncompatibleMethodTypes", false)
CHECKER("osx.cocoa.NonNilReturnValue", ObjCNonNilReturnValueChecker, "Model the APIs that are guaranteed to return a non-nil value", "", false)
CHECKER("osx.ObjCProperty", ObjCPropertyChecker, "Check for proper uses of Objective-C properties", "", false)
CHECKER("osx.cocoa.SelfInit", ObjCSelfInitChecker, "Check that 'self' is properly initialized inside an initializer method", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.SelfInit", false)
CHECKER("osx.cocoa.MissingSuperCall", ObjCSuperCallChecker, "Warn about Objective-C methods that lack a necessary call to super", "", false)
CHECKER("osx.cocoa.SuperDealloc", ObjCSuperDeallocChecker, "Warn about improper use of '[super dealloc]' in Objective-C", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.SuperDealloc", false)
CHECKER("osx.cocoa.UnusedIvars", ObjCUnusedIvarsChecker, "Warn about private ivars that are never used", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.UnusedIvars", false)
CHECKER("optin.performance.Padding", PaddingChecker, "Check for excessively padded structs.", "", false)
CHECKER("cplusplus.PlacementNew", PlacementNewChecker, "Check if default placement new is provided with pointers to sufficient storage capacity", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.PlacementNew", false)
CHECKER("alpha.osx.cocoa.localizability.PluralMisuseChecker", PluralMisuseChecker, "Warns against using one vs. many plural pattern in code when generating localized strings.", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.osx.cocoa.localizability.PluralMisuseChecker", false)
CHECKER("alpha.core.PointerArithm", PointerArithChecker, "Check for pointer arithmetic on locations other than array elements", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.PointerArithm", false)
CHECKER("alpha.nondeterminism.PointerIteration", PointerIterationChecker, "Checks for non-determinism caused by iteration of unordered containers of pointers", "https://clang-analyzer.llvm.org/available_checks.html#alpha.nondeterminism.PointerIteration", false)
CHECKER("alpha.nondeterminism.PointerSorting", PointerSortingChecker, "Check for non-determinism caused by sorting of pointers", "https://clang-analyzer.llvm.org/available_checks.html#alpha.nondeterminism.PointerSorting", false)
CHECKER("alpha.core.PointerSub", PointerSubChecker, "Check for pointer subtractions on two pointers pointing to different memory chunks", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.PointerSub", false)
CHECKER("debug.DumpPostDominators", PostDominatorsTreeDumper, "Print the post dominance tree for a given CFG", "", true)
CHECKER("alpha.core.PthreadLockBase", PthreadLockBase, "Helper registering multiple checks.", "", true)
CHECKER("alpha.unix.PthreadLock", PthreadLockChecker, "Simple lock -> unlock checker", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.PthreadLock", false)
CHECKER("cplusplus.PureVirtualCall", PureVirtualCallChecker, "Check pure virtual function calls during construction/destruction", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.PureVirtualCall", false)
CHECKER("alpha.security.cert.pos.34c", PutenvWithAuto, "Finds calls to the 'putenv' function which pass a pointer to an automatic variable as the argument.", "https://clang-analyzer.llvm.org/available_checks.html#alpha.security.cert.pos.34c", false)
CHECKER("webkit.RefCntblBaseVirtualDtor", RefCntblBaseVirtualDtorChecker, "Check for any ref-countable base class having virtual destructor.", "https://clang-analyzer.llvm.org/available_checks.html#webkit.RefCntblBaseVirtualDtor", false)
CHECKER("debug.ReportStmts", ReportStmts, "Emits a warning for every statement.", "", true)
CHECKER("osx.cocoa.RetainCountBase", RetainCountBase, "Common base of various retain count related checkers", "", true)
CHECKER("osx.cocoa.RetainCount", RetainCountChecker, "Check for leaks and improper reference count management", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.RetainCount", false)
CHECKER("alpha.security.ReturnPtrRange", ReturnPointerRangeChecker, "Check for an out-of-bound pointer being returned to callers", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.ReturnPtrRange", false)
CHECKER("core.uninitialized.UndefReturn", ReturnUndefChecker, "Check for uninitialized values being returned to the caller", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.UndefReturn", false)
CHECKER("apiModeling.llvm.ReturnValue", ReturnValueChecker, "Model the guaranteed boolean return value of function calls", "", true)
CHECKER("osx.cocoa.RunLoopAutoreleaseLeak", RunLoopAutoreleaseLeakChecker, "Check for leaked memory in autorelease pools that will never be drained", "", false)
CHECKER("alpha.cplusplus.STLAlgorithmModeling", STLAlgorithmModeling, "Models the algorithm library of the C++ STL.", "", false)
CHECKER("security.insecureAPI.SecuritySyntaxChecker", SecuritySyntaxChecker, "Base of various security function related checkers", "", true)
CHECKER("alpha.unix.SimpleStream", SimpleStreamChecker, "Check for misuses of stream APIs", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.SimpleStream", false)
CHECKER("alpha.core.SizeofPtr", SizeofPointerChecker, "Warn about unintended use of sizeof() on pointer expressions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.SizeofPtr", false)
CHECKER("alpha.cplusplus.SmartPtr", SmartPtrChecker, "Find the dereference of null SmrtPtr", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.SmartPtr", false)
CHECKER("cplusplus.SmartPtrModeling", SmartPtrModeling, "Model behavior of C++ smart pointers", "", true)
CHECKER("alpha.core.StackAddressAsyncEscape", StackAddrAsyncEscapeChecker, "Check that addresses to stack memory do not escape the function", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.StackAddressAsyncEscape", false)
CHECKER("core.StackAddrEscapeBase", StackAddrEscapeBase, "Generate information about stack address escapes.", "", true)
CHECKER("core.StackAddressEscape", StackAddrEscapeChecker, "Check that addresses to stack memory do not escape the function", "https://clang-analyzer.llvm.org/available_checks.html#core.StackAddressEscape", false)
CHECKER("alpha.unix.StdCLibraryFunctionArgs", StdCLibraryFunctionArgsChecker, "Check constraints of arguments of C standard library functions, such as whether the parameter of isalpha is in the range [0, 255] or is EOF.", "", false)
CHECKER("apiModeling.StdCLibraryFunctions", StdCLibraryFunctionsChecker, "Improve modeling of the C standard library functions", "", true)
CHECKER("debug.StdCLibraryFunctionsTester", StdCLibraryFunctionsTesterChecker, "Add test functions to the summary map, so testing of individual summary constituents becomes possible.", "", true)
CHECKER("alpha.unix.Stream", StreamChecker, "Check stream handling functions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.Stream", false)
CHECKER("debug.StreamTester", StreamTesterChecker, "Add test functions to StreamChecker for test and debugging purposes.", "", true)
CHECKER("cplusplus.StringChecker", StringChecker, "Checks C++ std::string bugs", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.StringChecker", false)
CHECKER("debug.TaintTest", TaintTesterChecker, "Mark tainted symbols as such.", "", true)
CHECKER("alpha.core.TestAfterDivZero", TestAfterDivZeroChecker, "Check for division by variable that is later compared against 0. Either the comparison is useless or there is division by zero.", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.TestAfterDivZero", false)
CHECKER("debug.DumpTraversal", TraversalDumper, "Print branch conditions as they are traversed by the engine", "", true)
CHECKER("apiModeling.TrustNonnull", TrustNonnullChecker, "Trust that returns from framework methods annotated with _Nonnull are not null", "", true)
CHECKER("security.insecureAPI.UncheckedReturn", UncheckedReturn, "Warn on uses of functions whose return values must be always checked", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.UncheckedReturn", false)
CHECKER("alpha.webkit.UncountedCallArgsChecker", UncountedCallArgsChecker, "Check uncounted call arguments.", "https://clang-analyzer.llvm.org/available_checks.html#alpha.webkit.UncountedCallArgsChecker", false)
CHECKER("webkit.UncountedLambdaCapturesChecker", UncountedLambdaCapturesChecker, "Check uncounted lambda captures.", "https://clang-analyzer.llvm.org/available_checks.html#webkit.UncountedLambdaCapturesChecker", false)
CHECKER("alpha.webkit.UncountedLocalVarsChecker", UncountedLocalVarsChecker, "Check uncounted local variables.", "https://clang-analyzer.llvm.org/available_checks.html#alpha.webkit.UncountedLocalVarsChecker", false)
CHECKER("core.uninitialized.Branch", UndefBranchChecker, "Check for uninitialized values used as branch conditions", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.Branch", false)
CHECKER("core.uninitialized.CapturedBlockVariable", UndefCapturedBlockVarChecker, "Check for blocks that capture uninitialized values", "", false)
CHECKER("core.UndefinedBinaryOperatorResult", UndefResultChecker, "Check for undefined results of binary operators", "https://clang-analyzer.llvm.org/available_checks.html#core.UndefinedBinaryOperatorResult", false)
CHECKER("core.uninitialized.ArraySubscript", UndefinedArraySubscriptChecker, "Check for uninitialized values used as array subscripts", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.ArraySubscript", false)
CHECKER("core.uninitialized.Assign", UndefinedAssignmentChecker, "Check for assigning uninitialized values", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.Assign", false)
CHECKER("valist.Uninitialized", UninitializedChecker, "Check for usages of uninitialized (or already released) va_lists.", "", false)
CHECKER("optin.cplusplus.UninitializedObject", UninitializedObjectChecker, "Reports uninitialized fields after object construction", "https://clang-analyzer.llvm.org/alpha_checks.html#optin.cplusplus.UninitializedObject", false)
CHECKER("unix.API", UnixAPIMisuseChecker, "Check calls to various UNIX/Posix functions", "https://clang-analyzer.llvm.org/available_checks.html#unix.API", false)
CHECKER("optin.portability.UnixAPI", UnixAPIPortabilityChecker, "Finds implementation-defined behavior in UNIX/Posix functions", "", false)
CHECKER("alpha.deadcode.UnreachableCode", UnreachableCodeChecker, "Check unreachable code", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.deadcode.UnreachableCode", false)
CHECKER("valist.Unterminated", UnterminatedChecker, "Check for va_lists which are not released by a va_end call.", "", false)
CHECKER("core.VLASize", VLASizeChecker, "Check for declarations of VLA of undefined or zero size", "https://clang-analyzer.llvm.org/available_checks.html#core.VLASize", false)
CHECKER("valist.ValistBase", ValistBase, "Gathers information about va_lists.", "", true)
CHECKER("osx.cocoa.VariadicMethodTypes", VariadicMethodTypeChecker, "Check for passing non-Objective-C types to variadic collection initialization methods that expect only Objective-C types", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.VariadicMethodTypes", false)
CHECKER("unix.Vfork", VforkChecker, "Check for proper usage of vfork", "https://clang-analyzer.llvm.org/available_checks.html#unix.Vfork", false)
CHECKER("optin.cplusplus.VirtualCall", VirtualCallChecker, "Check virtual function calls during construction/destruction", "https://clang-analyzer.llvm.org/available_checks.html#optin.cplusplus.VirtualCall", false)
CHECKER("cplusplus.VirtualCallModeling", VirtualCallModeling, "Auxiliary modeling for the virtual method call checkers", "", true)
CHECKER("security.insecureAPI.bcmp", bcmp, "Warn on uses of the 'bcmp' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bcmp", false)
CHECKER("security.insecureAPI.bcopy", bcopy, "Warn on uses of the 'bcopy' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bcopy", false)
CHECKER("security.insecureAPI.bzero", bzero, "Warn on uses of the 'bzero' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bzero", false)
CHECKER("security.insecureAPI.decodeValueOfObjCType", decodeValueOfObjCType, "Warn on uses of the '-decodeValueOfObjCType:at:' method", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.decodeValueOfObjCType", false)
CHECKER("security.insecureAPI.getpw", getpw, "Warn on uses of the 'getpw' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.getpw", false)
CHECKER("security.insecureAPI.gets", gets, "Warn on uses of the 'gets' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.gets", false)
CHECKER("security.insecureAPI.mkstemp", mkstemp, "Warn when 'mkstemp' is passed fewer than 6 X's in the format string", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.mkstemp", false)
CHECKER("security.insecureAPI.mktemp", mktemp, "Warn on uses of the 'mktemp' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.mktemp", false)
CHECKER("security.insecureAPI.rand", rand, "Warn on uses of the 'rand', 'random', and related functions", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.rand", false)
CHECKER("security.insecureAPI.strcpy", strcpy, "Warn on uses of the 'strcpy' and 'strcat' functions", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.strcpy", false)
CHECKER("security.insecureAPI.vfork", vfork, "Warn on uses of the 'vfork' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.vfork", false)

#endif // GET_CHECKERS


#ifdef GET_CHECKER_DEPENDENCIES
CHECKER_DEPENDENCY("alpha.core.C11Lock", "alpha.core.PthreadLockBase")
CHECKER_DEPENDENCY("osx.coreFoundation.CFError", "osx.NSOrCFErrorDerefChecker")
CHECKER_DEPENDENCY("alpha.unix.cstring.BufferOverlap", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("alpha.unix.cstring.NotNullTerminated", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("unix.cstring.NullArg", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("alpha.unix.cstring.OutOfBounds", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("unix.cstring.BadSizeArg", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("core.CallAndMessage", "core.CallAndMessageModeling")
CHECKER_DEPENDENCY("valist.CopyToSelf", "valist.ValistBase")
CHECKER_DEPENDENCY("debug.DebugContainerModeling", "alpha.cplusplus.ContainerModeling")
CHECKER_DEPENDENCY("debug.DebugIteratorModeling", "debug.DebugContainerModeling")
CHECKER_DEPENDENCY("debug.DebugIteratorModeling", "alpha.cplusplus.IteratorModeling")
CHECKER_DEPENDENCY("security.insecureAPI.DeprecatedOrUnsafeBufferHandling", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("unix.DynamicMemoryModeling", "unix.cstring.CStringModeling")
CHECKER_DEPENDENCY("security.FloatLoopCounter", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("alpha.fuchsia.Lock", "alpha.core.PthreadLockBase")
CHECKER_DEPENDENCY("cplusplus.InnerPointer", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("alpha.osx.cocoa.InstanceVariableInvalidation", "alpha.osx.cocoa.IvarInvalidationModeling")
CHECKER_DEPENDENCY("alpha.cplusplus.InvalidatedIterator", "alpha.cplusplus.IteratorModeling")
CHECKER_DEPENDENCY("alpha.cplusplus.IteratorModeling", "alpha.cplusplus.ContainerModeling")
CHECKER_DEPENDENCY("alpha.cplusplus.IteratorRange", "alpha.cplusplus.IteratorModeling")
CHECKER_DEPENDENCY("unix.Malloc", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("unix.MismatchedDeallocator", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("alpha.cplusplus.MismatchedIterator", "alpha.cplusplus.IteratorModeling")
CHECKER_DEPENDENCY("alpha.osx.cocoa.MissingInvalidationMethod", "alpha.osx.cocoa.IvarInvalidationModeling")
CHECKER_DEPENDENCY("osx.cocoa.NSError", "osx.NSOrCFErrorDerefChecker")
CHECKER_DEPENDENCY("cplusplus.NewDelete", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("cplusplus.NewDeleteLeaks", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("nullability.NullPassedToNonnull", "nullability.NullabilityBase")
CHECKER_DEPENDENCY("nullability.NullReturnedFromNonnull", "nullability.NullabilityBase")
CHECKER_DEPENDENCY("nullability.NullableDereferenced", "nullability.NullabilityBase")
CHECKER_DEPENDENCY("nullability.NullablePassedToNonnull", "nullability.NullabilityBase")
CHECKER_DEPENDENCY("nullability.NullableReturnedFromNonnull", "nullability.NullabilityBase")
CHECKER_DEPENDENCY("osx.OSObjectRetainCount", "osx.cocoa.RetainCountBase")
CHECKER_DEPENDENCY("osx.cocoa.ObjCGenerics", "core.DynamicTypePropagation")
CHECKER_DEPENDENCY("cplusplus.PlacementNew", "unix.DynamicMemoryModeling")
CHECKER_DEPENDENCY("alpha.unix.PthreadLock", "alpha.core.PthreadLockBase")
CHECKER_DEPENDENCY("cplusplus.PureVirtualCall", "cplusplus.VirtualCallModeling")
CHECKER_DEPENDENCY("osx.cocoa.RetainCount", "osx.cocoa.RetainCountBase")
CHECKER_DEPENDENCY("alpha.cplusplus.STLAlgorithmModeling", "alpha.cplusplus.ContainerModeling")
CHECKER_DEPENDENCY("alpha.cplusplus.SmartPtr", "cplusplus.SmartPtrModeling")
CHECKER_DEPENDENCY("alpha.core.StackAddressAsyncEscape", "core.StackAddrEscapeBase")
CHECKER_DEPENDENCY("core.StackAddressEscape", "core.StackAddrEscapeBase")
CHECKER_DEPENDENCY("alpha.unix.StdCLibraryFunctionArgs", "apiModeling.StdCLibraryFunctions")
CHECKER_DEPENDENCY("apiModeling.StdCLibraryFunctions", "core.CallAndMessageModeling")
CHECKER_DEPENDENCY("debug.StdCLibraryFunctionsTester", "apiModeling.StdCLibraryFunctions")
CHECKER_DEPENDENCY("security.insecureAPI.UncheckedReturn", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("valist.Uninitialized", "valist.ValistBase")
CHECKER_DEPENDENCY("valist.Unterminated", "valist.ValistBase")
CHECKER_DEPENDENCY("optin.cplusplus.VirtualCall", "cplusplus.VirtualCallModeling")
CHECKER_DEPENDENCY("security.insecureAPI.bcmp", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.bcopy", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.bzero", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.decodeValueOfObjCType", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.getpw", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.gets", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.mkstemp", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.mktemp", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.rand", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.strcpy", "security.insecureAPI.SecuritySyntaxChecker")
CHECKER_DEPENDENCY("security.insecureAPI.vfork", "security.insecureAPI.SecuritySyntaxChecker")

#endif // GET_CHECKER_DEPENDENCIES

#ifdef GET_CHECKER_WEAK_DEPENDENCIES
CHECKER_WEAK_DEPENDENCY("alpha.unix.StdCLibraryFunctionArgs", "core.CallAndMessage")
CHECKER_WEAK_DEPENDENCY("alpha.unix.StdCLibraryFunctionArgs", "core.NonNullParamChecker")
CHECKER_WEAK_DEPENDENCY("alpha.unix.StdCLibraryFunctionArgs", "alpha.unix.Stream")

#endif // GET_CHECKER_WEAK_DEPENDENCIES

#ifdef GET_CHECKER_OPTIONS
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCastExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCastExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtArraySubscriptExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtArraySubscriptExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXNewExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXNewExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXDeleteExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXDeleteExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXConstructExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXConstructExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtOffsetOfExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtOffsetOfExpr", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "EvalCall", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreCall", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostCall", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "EndFunction", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "EndAnalysis", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "NewAllocator", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "Bind", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "LiveSymbols", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "RegionChanges", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "PointerEscape", "", "false", "released", true)
CHECKER_OPTION("bool", "debug.AnalysisOrder", "*", "Enables all callbacks.", "false", "released", true)
CHECKER_OPTION("bool", "core.CallAndMessage", "FunctionPointer", "Check whether a called function pointer is null or undefined", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "ParameterCount", "Check whether a function was called with the appropriate number of arguments", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "CXXThisMethodCall", "Check whether the implicit this parameter is null or undefined upon a method call", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "CXXDeallocationArg", "Check whether the argument of operator delete is undefined", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "ArgInitializedness", "Check whether any of the pass-by-value parameters is undefined", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "ArgPointeeInitializedness", "Check whether the pointee of a pass-by-reference or pass-by-pointer is undefined", "false", "alpha", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "NilReceiver", "Check whether the reciever in the message expression is nil", "true", "released", false)
CHECKER_OPTION("bool", "core.CallAndMessage", "UndefReceiver", "Check whether the reciever in the message expression is undefined", "true", "released", false)
CHECKER_OPTION("int", "alpha.clone.CloneChecker", "MinimumCloneComplexity", "Ensures that every clone has at least the given complexity. Complexity is here defined as the total amount of children of a statement. This constraint assumes the first statement in the group is representative for all other statements in the group in terms of complexity.", "50", "released", false)
CHECKER_OPTION("bool", "alpha.clone.CloneChecker", "ReportNormalClones", "Report all clones, even less suspicious ones.", "true", "released", false)
CHECKER_OPTION("string", "alpha.clone.CloneChecker", "IgnoredFilesPattern", "If supplied, the checker wont analyze files with a filename that matches the given pattern.", "\"\"", "released", false)
CHECKER_OPTION("bool", "deadcode.DeadStores", "WarnForDeadNestedAssignments", "Warns for deadstores in nested assignments.E.g.: if ((P = f())) where P is unused.", "true", "released", false)
CHECKER_OPTION("bool", "deadcode.DeadStores", "ShowFixIts", "Enable fix-it hints for this checker", "false", "alpha", false)
CHECKER_OPTION("bool", "alpha.osx.cocoa.DirectIvarAssignment", "AnnotatedFunctions", "Check for direct assignments to instance variables in the methods annotated with objc_no_direct_instance_variable_assignment", "false", "alpha", false)
CHECKER_OPTION("bool", "unix.DynamicMemoryModeling", "Optimistic", "If set to true, the checker assumes that all the allocating and deallocating functions are annotated with ownership_holds, ownership_takes and ownership_returns.", "false", "alpha", false)
CHECKER_OPTION("bool", "unix.DynamicMemoryModeling", "AddNoOwnershipChangeNotes", "Add an additional note to the bug report for leak-like bugs. Dynamically allocated objects passed to functions that neither deallocated it, or have taken responsibility of the ownership are noted, similarly to NoStoreFuncVisitor.", "true", "released", true)
CHECKER_OPTION("string", "alpha.security.taint.TaintPropagation", "Config", "Specifies the name of the configuration file.", "", "alpha", false)
CHECKER_OPTION("int", "alpha.security.MmapWriteExec", "MmapProtExec", "Specifies the value of PROT_EXEC", "0x04", "released", false)
CHECKER_OPTION("int", "alpha.security.MmapWriteExec", "MmapProtRead", "Specifies the value of PROT_READ", "0x01", "released", false)
CHECKER_OPTION("string", "cplusplus.Move", "WarnOn", "In non-aggressive mode, only warn on use-after-move of local variables (or local rvalue references) and of STL objects. The former is possible because local variables (or local rvalue references) are not tempting their user to re-use the storage. The latter is possible because STL objects are known to end up in a valid but unspecified state after the move and their state-reset methods are also known, which allows us to predict precisely when use-after-move is invalid. Some STL objects are known to conform to additional contracts after move, so they are not tracked. However, smart pointers specifically are tracked because we can perform extra checking over them. In aggressive mode, warn on any use-after-move because the user has intentionally asked us to completely eliminate use-after-move in his code. Values: \"KnownsOnly\", \"KnownsAndLocals\", \"All\".", "KnownsAndLocals", "released", false)
CHECKER_OPTION("bool", "optin.osx.cocoa.localizability.NonLocalizedStringChecker", "AggressiveReport", "Marks a string being returned by any call as localized if it is in LocStringFunctions (LSF) or the function is annotated. Otherwise, we mark it as NonLocalized (Aggressive) or NonLocalized only if it is not backed by a SymRegion (Non-Aggressive), basically leaving only string literals as NonLocalized.", "false", "alpha", true)
CHECKER_OPTION("bool", "osx.NumberObjectConversion", "Pedantic", "Enables detection of more conversion patterns (which are most likely more harmless, and therefore are more likely to produce false positives).", "false", "released", false)
CHECKER_OPTION("int", "optin.performance.Padding", "AllowedPad", "Reports are only generated if the excessive padding exceeds 'AllowedPad' in bytes.", "24", "released", false)
CHECKER_OPTION("bool", "osx.cocoa.RetainCount", "TrackNSCFStartParam", "Check not only that the code follows retain-release rules with respect to objects it allocates or borrows from elsewhere, but also that it fulfills its own retain count specification with respect to objects that it receives as arguments.", "false", "released", false)
CHECKER_OPTION("bool", "alpha.cplusplus.STLAlgorithmModeling", "AggressiveStdFindModeling", "Enables exploration of the failure branch in std::find-like functions.", "false", "released", false)
CHECKER_OPTION("bool", "cplusplus.SmartPtrModeling", "ModelSmartPtrDereference", "Enable modeling for SmartPtr null dereferences", "false", "alpha", true)
CHECKER_OPTION("bool", "apiModeling.StdCLibraryFunctions", "DisplayLoadedSummaries", "If set to true, the checker displays the found summaries for the given translation unit.", "false", "released", true)
CHECKER_OPTION("bool", "apiModeling.StdCLibraryFunctions", "ModelPOSIX", "If set to true, the checker models functions from the POSIX standard.", "false", "alpha", false)
CHECKER_OPTION("bool", "optin.cplusplus.UninitializedObject", "Pedantic", "If set to false, the checker won't emit warnings for objects that don't have at least one initialized field.", "false", "released", false)
CHECKER_OPTION("bool", "optin.cplusplus.UninitializedObject", "NotesAsWarnings", "If set to true, the checker will emit a warning for each uninitalized field, as opposed to emitting one warning per constructor call, and listing the uninitialized fields that belongs to it in notes.", "false", "released", true)
CHECKER_OPTION("bool", "optin.cplusplus.UninitializedObject", "CheckPointeeInitialization", "If set to false, the checker will not analyze the pointee of pointer/reference fields, and will only check whether the object itself is initialized.", "false", "alpha", false)
CHECKER_OPTION("string", "optin.cplusplus.UninitializedObject", "IgnoreRecordsWithField", "If supplied, the checker will not analyze structures that have a field with a name or type name that matches the given pattern.", "\"\"", "released", false)
CHECKER_OPTION("bool", "optin.cplusplus.UninitializedObject", "IgnoreGuardedFields", "If set to true, the checker will analyze _syntactically_ whether the found uninitialized object is used without a preceding assert call. Defaults to false.", "false", "alpha", false)
CHECKER_OPTION("bool", "optin.cplusplus.VirtualCall", "ShowFixIts", "Enable fix-it hints for this checker", "false", "alpha", false)
CHECKER_OPTION("bool", "optin.cplusplus.VirtualCall", "PureOnly", "Disables the checker. Keeps cplusplus.PureVirtualCall enabled. This option is only provided for backwards compatibility.", "false", "alpha", false)
#endif // GET_CHECKER_OPTIONS

