Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/clang/StaticAnalyzer/Checkers/Checkers.inc is written in an unsupported language. File is not indexed.

0001 // This file is automatically generated. Do not edit this file by hand.
0002 
0003 #ifdef GET_PACKAGES
0004 PACKAGE("optin.mpi")
0005 PACKAGE("alpha.core")
0006 PACKAGE("optin.taint")
0007 PACKAGE("alpha.cplusplus")
0008 PACKAGE("optin.osx")
0009 PACKAGE("unix.cstring")
0010 PACKAGE("valist")
0011 PACKAGE("alpha.unix")
0012 PACKAGE("alpha.fuchsia")
0013 PACKAGE("cplusplus")
0014 PACKAGE("optin.osx.cocoa.localizability")
0015 PACKAGE("optin.performance")
0016 PACKAGE("osx.cocoa")
0017 PACKAGE("security.cert")
0018 PACKAGE("core.uninitialized")
0019 PACKAGE("security.cert.env")
0020 PACKAGE("alpha.osx.cocoa")
0021 PACKAGE("optin.cplusplus")
0022 PACKAGE("core")
0023 PACKAGE("apiModeling.google")
0024 PACKAGE("osx.coreFoundation.containers")
0025 PACKAGE("deadcode")
0026 PACKAGE("alpha.security.cert.pos")
0027 PACKAGE("security.insecureAPI")
0028 PACKAGE("alpha.osx")
0029 PACKAGE("alpha.deadcode")
0030 PACKAGE("optin.core")
0031 PACKAGE("alpha.osx.cocoa.localizability")
0032 PACKAGE("security")
0033 PACKAGE("osx.coreFoundation")
0034 PACKAGE("alpha.llvm")
0035 PACKAGE("optin.portability")
0036 PACKAGE("apiModeling")
0037 PACKAGE("optin")
0038 PACKAGE("fuchsia")
0039 PACKAGE("nullability")
0040 PACKAGE("alpha")
0041 PACKAGE("alpha.webkit")
0042 PACKAGE("optin.osx.cocoa")
0043 PACKAGE("llvm")
0044 PACKAGE("alpha.unix.cstring")
0045 PACKAGE("osx")
0046 PACKAGE("alpha.apiModeling")
0047 PACKAGE("core.builtin")
0048 PACKAGE("apiModeling.llvm")
0049 PACKAGE("alpha.clone")
0050 PACKAGE("webkit")
0051 PACKAGE("alpha.security.cert")
0052 PACKAGE("debug")
0053 PACKAGE("unix")
0054 PACKAGE("alpha.security")
0055 #endif // GET_PACKAGES
0056 
0057 
0058 #ifdef GET_PACKAGE_OPTIONS
0059 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)
0060 #endif // GET_PACKAGE_OPTIONS
0061 
0062 
0063 #ifdef GET_CHECKERS
0064 
0065 CHECKER("debug.AnalysisOrder", AnalysisOrderChecker, "Print callbacks that are called during analysis in order", "", true)
0066 CHECKER("debug.Stats", AnalyzerStatsChecker, "Emit warnings with analyzer statistics", "", true)
0067 CHECKER("alpha.security.ArrayBound", ArrayBoundChecker, "Warn about buffer overflows (older checker)", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-security-arraybound", false)
0068 CHECKER("alpha.security.ArrayBoundV2", ArrayBoundCheckerV2, "Warn about buffer overflows (newer checker)", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-security-arrayboundv2", false)
0069 CHECKER("cplusplus.ArrayDelete", ArrayDeleteChecker, "Reports destructions of arrays of polymorphic objects that are destructed as their base class.", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-arraydelete", false)
0070 CHECKER("osx.cocoa.AutoreleaseWrite", AutoreleaseWriteChecker, "Warn about potentially crashing writes to autoreleasing objects from different autoreleasing pools in Objective-C", "", false)
0071 CHECKER("core.BitwiseShift", BitwiseShiftChecker, "Finds cases where bitwise shift operation causes undefined behaviour.", "https://clang.llvm.org/docs/analyzer/checkers.html#core-bitwiseshift", false)
0072 CHECKER("unix.BlockInCriticalSection", BlockInCriticalSectionChecker, "Check for calls to blocking functions inside a critical section", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-blockincriticalsection", false)
0073 CHECKER("alpha.core.BoolAssignment", BoolAssignmentChecker, "Warn about assigning non-{0,1} values to Boolean variables", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-boolassignment", false)
0074 CHECKER("core.builtin.BuiltinFunctions", BuiltinFunctionChecker, "Evaluate compiler builtin functions (e.g., alloca())", "", true)
0075 CHECKER("alpha.core.C11Lock", C11LockChecker, "Simple lock -> unlock checker", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-c11lock", false)
0076 CHECKER("osx.coreFoundation.CFError", CFErrorChecker, "Check usage of CFErrorRef* parameters", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-corefoundation-cferror", false)
0077 CHECKER("debug.DumpCFG", CFGDumper, "Display Control-Flow Graphs", "", true)
0078 CHECKER("debug.ViewCFG", CFGViewer, "View Control-Flow Graphs using GraphViz", "", true)
0079 CHECKER("osx.coreFoundation.CFNumber", CFNumberChecker, "Check for proper uses of CFNumber APIs", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-corefoundation-cfnumber", false)
0080 CHECKER("osx.coreFoundation.CFRetainRelease", CFRetainReleaseChecker, "Check for null arguments to CFRetain/CFRelease/CFMakeCollectable", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-corefoundation-cfretainrelease", false)
0081 CHECKER("alpha.unix.cstring.BufferOverlap", CStringBufferOverlap, "Checks for overlap in two buffer arguments", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-unix-cstring-bufferoverlap", false)
0082 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)
0083 CHECKER("unix.cstring.NotNullTerminated", CStringNotNullTerm, "Check for arguments passed to C string functions which are not null-terminated strings", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-cstring-notnullterminated", false)
0084 CHECKER("unix.cstring.NullArg", CStringNullArg, "Check for null pointers being passed as arguments to C string functions", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-cstring-nullarg", false)
0085 CHECKER("alpha.unix.cstring.OutOfBounds", CStringOutOfBounds, "Check for out-of-bounds access in string functions", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-unix-cstring-outofbounds", false)
0086 CHECKER("unix.cstring.BadSizeArg", CStringSyntaxChecker, "Check the size argument passed into C string functions for common erroneous patterns", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-cstring-badsizearg", false)
0087 CHECKER("alpha.unix.cstring.UninitializedRead", CStringUninitializedRead, "Checks if the string manipulation function would read uninitialized bytes", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-unix-cstring-uninitializedread", false)
0088 CHECKER("cplusplus.SelfAssignment", CXXSelfAssignmentChecker, "Checks C++ copy and move assignment operators for self assignment", "", true)
0089 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.llvm.org/docs/analyzer/checkers.html#core-callandmessage", false)
0090 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.llvm.org/docs/analyzer/checkers.html#core-callandmessagemodeling", true)
0091 CHECKER("debug.DumpCalls", CallDumper, "Print calls as they are traversed by the engine", "", true)
0092 CHECKER("debug.DumpCallGraph", CallGraphDumper, "Display Call Graph", "", true)
0093 CHECKER("debug.ViewCallGraph", CallGraphViewer, "View Call Graph using GraphViz", "", true)
0094 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.llvm.org/docs/analyzer/checkers.html#alpha-core-castsize", false)
0095 CHECKER("alpha.core.CastToStruct", CastToStructChecker, "Check for cast from non-struct pointer to struct pointer", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-casttostruct", false)
0096 CHECKER("apiModeling.llvm.CastValue", CastValueChecker, "Model implementation of custom RTTIs", "", true)
0097 CHECKER("debug.CheckerDocumentation", CheckerDocumentationChecker, "Defines an empty checker callback for all possible handlers.", "", true)
0098 CHECKER("unix.Chroot", ChrootChecker, "Check improper use of chroot", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-chroot", false)
0099 CHECKER("osx.cocoa.ClassRelease", ClassReleaseChecker, "Check for sending 'retain', 'release', or 'autorelease' directly to a Class", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-classrelease", false)
0100 CHECKER("alpha.clone.CloneChecker", CloneChecker, "Reports similar pieces of code.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-clone-clonechecker", false)
0101 CHECKER("debug.ConfigDumper", ConfigDumper, "Dump config table", "", true)
0102 CHECKER("alpha.cplusplus.ContainerModeling", ContainerModeling, "Models C++ containers", "", true)
0103 CHECKER("debug.DumpControlDependencies", ControlDependencyTreeDumper, "Print the post control dependency tree for a given CFG", "", true)
0104 CHECKER("alpha.core.Conversion", ConversionChecker, "Loss of sign/precision in implicit conversions", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-conversion", false)
0105 CHECKER("valist.CopyToSelf", CopyToSelfChecker, "Check for va_lists which are copied onto itself.", "", false)
0106 CHECKER("deadcode.DeadStores", DeadStoresChecker, "Check for values stored to variables that are never read afterwards", "https://clang.llvm.org/docs/analyzer/checkers.html#deadcode-deadstores", false)
0107 CHECKER("debug.DebugContainerModeling", DebugContainerModeling, "Check the analyzer's understanding of C++ containers", "", true)
0108 CHECKER("debug.DebugIteratorModeling", DebugIteratorModeling, "Check the analyzer's understanding of C++ iterators", "", true)
0109 CHECKER("alpha.cplusplus.DeleteWithNonVirtualDtor", DeleteWithNonVirtualDtorChecker, "Reports destructions of polymorphic objects with a non-virtual destructor in their base class", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-deletewithnonvirtualdtor", false)
0110 CHECKER("security.insecureAPI.DeprecatedOrUnsafeBufferHandling", DeprecatedOrUnsafeBufferHandling, "Warn on uses of unsecure or deprecated buffer manipulating functions", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-deprecatedorunsafebufferhandling", false)
0111 CHECKER("core.DereferenceModeling", DereferenceModeling, "General support for dereference related checkers", "", true)
0112 CHECKER("alpha.osx.cocoa.DirectIvarAssignment", DirectIvarAssignment, "Check for direct assignments to instance variables", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-osx-cocoa-directivarassignment", false)
0113 CHECKER("core.DivideZero", DivZeroChecker, "Check for division by zero", "https://clang.llvm.org/docs/analyzer/checkers.html#core-dividezero", false)
0114 CHECKER("debug.DumpDominators", DominatorsTreeDumper, "Print the dominance tree for a given CFG", "", true)
0115 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)
0116 CHECKER("alpha.core.DynamicTypeChecker", DynamicTypeChecker, "Check for cases where the dynamic and the static type of an object are unrelated.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-dynamictypechecker", false)
0117 CHECKER("core.DynamicTypePropagation", DynamicTypePropagation, "Generate dynamic type information", "", true)
0118 CHECKER("optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", EmptyLocalizationContextChecker, "Check that NSLocalizedString macros include a comment for context", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-osx-cocoa-localizability-emptylocalizationcontextchecker", false)
0119 CHECKER("optin.core.EnumCastOutOfRange", EnumCastOutOfRangeChecker, "Check integer to enumeration casts for out of range values", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-core-enumcastoutofrange", false)
0120 CHECKER("unix.Errno", ErrnoChecker, "Check for improper use of 'errno'", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-errno", false)
0121 CHECKER("apiModeling.Errno", ErrnoModeling, "Make the special value 'errno' available to other checkers.", "", true)
0122 CHECKER("debug.ErrnoTest", ErrnoTesterChecker, "Check modeling aspects of 'errno'.", "", true)
0123 CHECKER("debug.ViewExplodedGraph", ExplodedGraphViewer, "View Exploded Graphs using GraphViz", "", true)
0124 CHECKER("debug.ExprInspection", ExprInspectionChecker, "Check the analyzer's understanding of expressions", "", true)
0125 CHECKER("alpha.core.FixedAddr", FixedAddressChecker, "Check for assignment of a fixed address to a pointer", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-fixedaddr", false)
0126 CHECKER("security.FloatLoopCounter", FloatLoopCounter, "Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)", "https://clang.llvm.org/docs/analyzer/checkers.html#security-floatloopcounter", false)
0127 CHECKER("fuchsia.HandleChecker", FuchsiaHandleChecker, "A Checker that detect leaks related to Fuchsia handles", "https://clang.llvm.org/docs/analyzer/checkers.html#fuchsia-handlechecker", false)
0128 CHECKER("alpha.fuchsia.Lock", FuchsiaLockChecker, "Check for the correct usage of locking APIs.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-fuchsia-lock", false)
0129 CHECKER("optin.performance.GCDAntipattern", GCDAntipattern, "Check for performance anti-patterns when using Grand Central Dispatch", "", false)
0130 CHECKER("apiModeling.google.GTest", GTestChecker, "Model gtest assertion APIs", "", true)
0131 CHECKER("optin.taint.GenericTaint", GenericTaintChecker, "Reports potential injection vulnerabilities", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-taint-generictaint", false)
0132 CHECKER("cplusplus.InnerPointer", InnerPointerChecker, "Check for inner pointers of C++ containers used after re/deallocation", "", false)
0133 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.llvm.org/docs/analyzer/checkers.html#alpha-osx-cocoa-instancevariableinvalidation", false)
0134 CHECKER("security.cert.env.InvalidPtr", InvalidPtrChecker, "Finds usages of possibly invalidated pointers", "https://clang.llvm.org/docs/analyzer/checkers.html#security-cert-env-invalidptr", false)
0135 CHECKER("alpha.cplusplus.InvalidatedIterator", InvalidatedIteratorChecker, "Check for use of invalidated iterators", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-invalidatediterator", false)
0136 CHECKER("alpha.cplusplus.IteratorModeling", IteratorModeling, "Models iterators of C++ containers", "", true)
0137 CHECKER("alpha.cplusplus.IteratorRange", IteratorRangeChecker, "Check for iterators used outside their valid ranges", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-iteratorrange", false)
0138 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)
0139 CHECKER("alpha.llvm.Conventions", LLVMConventionsChecker, "Check code for LLVM codebase conventions", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-llvm-conventions", false)
0140 CHECKER("debug.DumpLiveExprs", LiveExpressionsDumper, "Print results of live expression analysis", "", true)
0141 CHECKER("debug.DumpLiveVars", LiveVariablesDumper, "Print results of live variable analysis", "", true)
0142 CHECKER("osx.MIG", MIGChecker, "Find violations of the Mach Interface Generator calling convention", "", false)
0143 CHECKER("optin.mpi.MPI-Checker", MPIChecker, "Checks MPI code", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-mpi-mpi-checker", false)
0144 CHECKER("osx.SecKeychainAPI", MacOSKeychainAPIChecker, "Check for proper uses of Secure Keychain APIs", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-seckeychainapi", false)
0145 CHECKER("osx.API", MacOSXAPIChecker, "Check for proper uses of various Apple APIs", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-api", false)
0146 CHECKER("unix.Malloc", MallocChecker, "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free().", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-malloc", false)
0147 CHECKER("unix.MallocSizeof", MallocSizeofChecker, "Check for dubious malloc arguments involving sizeof", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-mallocsizeof", false)
0148 CHECKER("alpha.webkit.MemoryUnsafeCastChecker", MemoryUnsafeCastChecker, "Check for memory unsafe casts from base type to derived type.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-memoryunsafecastchecker", false)
0149 CHECKER("unix.MismatchedDeallocator", MismatchedDeallocatorChecker, "Check for mismatched deallocators.", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-mismatcheddeallocator", false)
0150 CHECKER("alpha.cplusplus.MismatchedIterator", MismatchedIteratorChecker, "Check for use of iterators of different containers where iterators of the same container are expected", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-mismatchediterator", false)
0151 CHECKER("alpha.osx.cocoa.MissingInvalidationMethod", MissingInvalidationMethod, "Check that the invalidation methods are present in classes that contain invalidatable instance variables", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-osx-cocoa-missinginvalidationmethod", false)
0152 CHECKER("security.MmapWriteExec", MmapWriteExecChecker, "Warn on mmap() calls with both writable and executable access", "https://clang.llvm.org/docs/analyzer/checkers.html#security-mmapwriteexec", false)
0153 CHECKER("cplusplus.Move", MoveChecker, "Find use-after-move bugs in C++", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-move", false)
0154 CHECKER("osx.cocoa.NSAutoreleasePool", NSAutoreleasePoolChecker, "Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-nsautoreleasepool", false)
0155 CHECKER("osx.cocoa.NSError", NSErrorChecker, "Check usage of NSError** parameters", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-nserror", false)
0156 CHECKER("osx.NSOrCFErrorDerefChecker", NSOrCFErrorDerefChecker, "Implementation checker for NSErrorChecker and CFErrorChecker", "", true)
0157 CHECKER("cplusplus.NewDelete", NewDeleteChecker, "Check for double-free and use-after-free problems. Traces memory managed by new/delete.", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-newdelete", false)
0158 CHECKER("cplusplus.NewDeleteLeaks", NewDeleteLeaksChecker, "Check for memory leaks. Traces memory managed by new/delete.", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-newdeleteleaks", false)
0159 CHECKER("osx.cocoa.NilArg", NilArgChecker, "Check for prohibited nil arguments to ObjC method calls", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-nilarg", false)
0160 CHECKER("core.builtin.NoReturnFunctions", NoReturnFunctionChecker, "Evaluate \"panic\" functions that are known to not return to the caller", "", true)
0161 CHECKER("alpha.webkit.NoUncheckedPtrMemberChecker", NoUncheckedPtrMemberChecker, "Check for no unchecked member variables.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-nouncheckedptrmemberchecker", false)
0162 CHECKER("webkit.NoUncountedMemberChecker", NoUncountedMemberChecker, "Check for no uncounted member variables.", "https://clang.llvm.org/docs/analyzer/checkers.html#webkit-nouncountedmemberchecker", false)
0163 CHECKER("optin.osx.cocoa.localizability.NonLocalizedStringChecker", NonLocalizedStringChecker, "Warns about uses of non-localized NSStrings passed to UI methods expecting localized NSStrings", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-osx-cocoa-localizability-nonlocalizedstringchecker", false)
0164 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.llvm.org/docs/analyzer/checkers.html#core-nonnullparamchecker", false)
0165 CHECKER("core.NonnilStringConstants", NonnullGlobalConstantsChecker, "Assume that const string-like globals are non-null", "", true)
0166 CHECKER("core.NullDereference", NullDereferenceChecker, "Check for dereferences of null pointers", "https://clang.llvm.org/docs/analyzer/checkers.html#core-nulldereference", false)
0167 CHECKER("nullability.NullPassedToNonnull", NullPassedToNonnullChecker, "Warns when a null pointer is passed to a pointer which has a _Nonnull type.", "https://clang.llvm.org/docs/analyzer/checkers.html#nullability-nullpassedtononnull", false)
0168 CHECKER("nullability.NullReturnedFromNonnull", NullReturnedFromNonnullChecker, "Warns when a null pointer is returned from a function that has _Nonnull return type.", "https://clang.llvm.org/docs/analyzer/checkers.html#nullability-nullreturnedfromnonnull", false)
0169 CHECKER("nullability.NullabilityBase", NullabilityBase, "Stores information during the analysis about nullability.", "", true)
0170 CHECKER("nullability.NullableDereferenced", NullableDereferencedChecker, "Warns when a nullable pointer is dereferenced.", "https://clang.llvm.org/docs/analyzer/checkers.html#nullability-nullabledereferenced", false)
0171 CHECKER("nullability.NullablePassedToNonnull", NullablePassedToNonnullChecker, "Warns when a nullable pointer is passed to a pointer which has a _Nonnull type.", "https://clang.llvm.org/docs/analyzer/checkers.html#nullability-nullablepassedtononnull", false)
0172 CHECKER("nullability.NullableReturnedFromNonnull", NullableReturnedFromNonnullChecker, "Warns when a nullable pointer is returned from a function that has _Nonnull return type.", "", false)
0173 CHECKER("osx.NumberObjectConversion", NumberObjectConversionChecker, "Check for erroneous conversions of objects representing numbers into numbers", "", false)
0174 CHECKER("optin.osx.OSObjectCStyleCast", OSObjectCStyleCast, "Checker for C-style casts of OSObjects", "", false)
0175 CHECKER("osx.OSObjectRetainCount", OSObjectRetainCountChecker, "Check for leaks and improper reference count management for OSObject", "", false)
0176 CHECKER("osx.cocoa.AtSync", ObjCAtSyncChecker, "Check for nil pointers used as mutexes for @synchronized", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-atsync", false)
0177 CHECKER("osx.coreFoundation.containers.PointerSizedValues", ObjCContainersASTChecker, "Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-corefoundation-containers-pointersizedvalues", false)
0178 CHECKER("osx.coreFoundation.containers.OutOfBounds", ObjCContainersChecker, "Checks for index out-of-bounds when using 'CFArray' API", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-corefoundation-containers-outofbounds", false)
0179 CHECKER("osx.cocoa.Dealloc", ObjCDeallocChecker, "Warn about Objective-C classes that lack a correct implementation of -dealloc", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-dealloc", false)
0180 CHECKER("osx.cocoa.ObjCGenerics", ObjCGenericsChecker, "Check for type errors when using Objective-C generics", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-objcgenerics", false)
0181 CHECKER("osx.cocoa.Loops", ObjCLoopChecker, "Improved modeling of loops using Cocoa collection types", "", false)
0182 CHECKER("osx.cocoa.IncompatibleMethodTypes", ObjCMethSigsChecker, "Warn about Objective-C method signatures with type incompatibilities", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-incompatiblemethodtypes", false)
0183 CHECKER("osx.cocoa.NonNilReturnValue", ObjCNonNilReturnValueChecker, "Model the APIs that are guaranteed to return a non-nil value", "", false)
0184 CHECKER("osx.ObjCProperty", ObjCPropertyChecker, "Check for proper uses of Objective-C properties", "", false)
0185 CHECKER("osx.cocoa.SelfInit", ObjCSelfInitChecker, "Check that 'self' is properly initialized inside an initializer method", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-selfinit", false)
0186 CHECKER("osx.cocoa.MissingSuperCall", ObjCSuperCallChecker, "Warn about Objective-C methods that lack a necessary call to super", "", false)
0187 CHECKER("osx.cocoa.SuperDealloc", ObjCSuperDeallocChecker, "Warn about improper use of '[super dealloc]' in Objective-C", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-superdealloc", false)
0188 CHECKER("osx.cocoa.UnusedIvars", ObjCUnusedIvarsChecker, "Warn about private ivars that are never used", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-unusedivars", false)
0189 CHECKER("optin.performance.Padding", PaddingChecker, "Check for excessively padded structs.", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-performance-padding", false)
0190 CHECKER("cplusplus.PlacementNew", PlacementNewChecker, "Check if default placement new is provided with pointers to sufficient storage capacity", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-placementnew", false)
0191 CHECKER("alpha.osx.cocoa.localizability.PluralMisuseChecker", PluralMisuseChecker, "Warns against using one vs. many plural pattern in code when generating localized strings.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-osx-cocoa-localizability-pluralmisusechecker", false)
0192 CHECKER("alpha.core.PointerArithm", PointerArithChecker, "Check for pointer arithmetic on locations other than array elements", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-pointerarithm", false)
0193 CHECKER("security.PointerSub", PointerSubChecker, "Check for pointer subtractions on two pointers pointing to different memory chunks", "https://clang.llvm.org/docs/analyzer/checkers.html#security-pointersub", false)
0194 CHECKER("debug.DumpPostDominators", PostDominatorsTreeDumper, "Print the post dominance tree for a given CFG", "", true)
0195 CHECKER("alpha.core.PthreadLockBase", PthreadLockBase, "Helper registering multiple checks.", "", true)
0196 CHECKER("alpha.unix.PthreadLock", PthreadLockChecker, "Simple lock -> unlock checker", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-unix-pthreadlock", false)
0197 CHECKER("cplusplus.PureVirtualCall", PureVirtualCallChecker, "Check pure virtual function calls during construction/destruction", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-purevirtualcall", false)
0198 CHECKER("security.PutenvStackArray", PutenvStackArray, "Finds calls to the function 'putenv' which pass a pointer to an automatic (stack-allocated) array as the argument.", "https://clang.llvm.org/docs/analyzer/checkers.html#security-putenvstackarray", false)
0199 CHECKER("webkit.RefCntblBaseVirtualDtor", RefCntblBaseVirtualDtorChecker, "Check for any ref-countable base class having virtual destructor.", "https://clang.llvm.org/docs/analyzer/checkers.html#webkit-refcntblbasevirtualdtor", false)
0200 CHECKER("debug.ReportStmts", ReportStmts, "Emits a warning for every statement.", "", true)
0201 CHECKER("osx.cocoa.RetainCountBase", RetainCountBase, "Common base of various retain count related checkers", "", true)
0202 CHECKER("osx.cocoa.RetainCount", RetainCountChecker, "Check for leaks and improper reference count management", "https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-retaincount", false)
0203 CHECKER("alpha.security.ReturnPtrRange", ReturnPointerRangeChecker, "Check for an out-of-bound pointer being returned to callers", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-security-returnptrrange", false)
0204 CHECKER("core.uninitialized.UndefReturn", ReturnUndefChecker, "Check for uninitialized values being returned to the caller", "https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-undefreturn", false)
0205 CHECKER("apiModeling.llvm.ReturnValue", ReturnValueChecker, "Model certain Error() methods that always return true by convention", "", true)
0206 CHECKER("osx.cocoa.RunLoopAutoreleaseLeak", RunLoopAutoreleaseLeakChecker, "Check for leaked memory in autorelease pools that will never be drained", "", false)
0207 CHECKER("alpha.cplusplus.STLAlgorithmModeling", STLAlgorithmModeling, "Models the algorithm library of the C++ STL.", "", false)
0208 CHECKER("security.insecureAPI.SecuritySyntaxChecker", SecuritySyntaxChecker, "Base of various security function related checkers", "", true)
0209 CHECKER("security.SetgidSetuidOrder", SetgidSetuidOrderChecker, "Warn on possible reversed order of 'setgid(getgid()))' and 'setuid(getuid())' (CERT: POS36-C)", "https://clang.llvm.org/docs/analyzer/checkers.html#security-setgidsetuidorder", false)
0210 CHECKER("alpha.unix.SimpleStream", SimpleStreamChecker, "Check for misuses of stream APIs", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-unix-simplestream", false)
0211 CHECKER("alpha.cplusplus.SmartPtr", SmartPtrChecker, "Find the dereference of null SmrtPtr", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-smartptr", false)
0212 CHECKER("cplusplus.SmartPtrModeling", SmartPtrModeling, "Model behavior of C++ smart pointers", "", true)
0213 CHECKER("alpha.core.StackAddressAsyncEscape", StackAddrAsyncEscapeChecker, "Check that addresses to stack memory do not escape the function", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-stackaddressasyncescape", false)
0214 CHECKER("core.StackAddrEscapeBase", StackAddrEscapeBase, "Generate information about stack address escapes.", "", true)
0215 CHECKER("core.StackAddressEscape", StackAddrEscapeChecker, "Check that addresses to stack memory do not escape the function", "https://clang.llvm.org/docs/analyzer/checkers.html#core-stackaddressescape", false)
0216 CHECKER("unix.StdCLibraryFunctions", StdCLibraryFunctionsChecker, "Check for invalid arguments of C standard library functions, and apply relations between arguments and return value", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-stdclibraryfunctions", false)
0217 CHECKER("debug.StdCLibraryFunctionsTester", StdCLibraryFunctionsTesterChecker, "Add test functions to the summary map, so testing of individual summary constituents becomes possible.", "", true)
0218 CHECKER("alpha.core.StdVariant", StdVariantChecker, "Check for bad type access for std::variant.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-stdvariant", false)
0219 CHECKER("unix.Stream", StreamChecker, "Check stream handling functions", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-stream", false)
0220 CHECKER("debug.StreamTester", StreamTesterChecker, "Add test functions to StreamChecker for test and debugging purposes.", "", true)
0221 CHECKER("cplusplus.StringChecker", StringChecker, "Checks C++ std::string bugs", "https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-stringchecker", false)
0222 CHECKER("optin.taint.TaintPropagation", TaintPropagationChecker, "Generate taint information used by other checkers", "", true)
0223 CHECKER("debug.TaintTest", TaintTesterChecker, "Mark tainted symbols as such.", "", true)
0224 CHECKER("optin.taint.TaintedAlloc", TaintedAllocChecker, "Check for memory allocations, where the size parameter might be a tainted (attacker controlled) value.", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-taint-taintedalloc", false)
0225 CHECKER("optin.taint.TaintedDiv", TaintedDivChecker, "Check for divisions where the denominator is tainted (attacker controlled) and might be 0.", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-taint-tainteddiv", false)
0226 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.llvm.org/docs/analyzer/checkers.html#alpha-core-testafterdivzero", false)
0227 CHECKER("debug.DumpTraversal", TraversalDumper, "Print branch conditions as they are traversed by the engine", "", true)
0228 CHECKER("apiModeling.TrustNonnull", TrustNonnullChecker, "Trust that returns from framework methods annotated with _Nonnull are not null", "", true)
0229 CHECKER("apiModeling.TrustReturnsNonnull", TrustReturnsNonnullChecker, "Trust that returns from methods annotated with returns_nonnull are not null", "", true)
0230 CHECKER("alpha.webkit.UncheckedCallArgsChecker", UncheckedCallArgsChecker, "Check unchecked call arguments.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-uncheckedcallargschecker", false)
0231 CHECKER("alpha.webkit.UncheckedLocalVarsChecker", UncheckedLocalVarsChecker, "Check unchecked local variables.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-uncheckedlocalvarschecker", false)
0232 CHECKER("security.insecureAPI.UncheckedReturn", UncheckedReturn, "Warn on uses of functions whose return values must be always checked", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-uncheckedreturn", false)
0233 CHECKER("alpha.webkit.UncountedCallArgsChecker", UncountedCallArgsChecker, "Check uncounted call arguments.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-uncountedcallargschecker", false)
0234 CHECKER("webkit.UncountedLambdaCapturesChecker", UncountedLambdaCapturesChecker, "Check uncounted lambda captures.", "https://clang.llvm.org/docs/analyzer/checkers.html#webkit-uncountedlambdacaptureschecker", false)
0235 CHECKER("alpha.webkit.UncountedLocalVarsChecker", UncountedLocalVarsChecker, "Check uncounted local variables.", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-webkit-uncountedlocalvarschecker", false)
0236 CHECKER("core.uninitialized.Branch", UndefBranchChecker, "Check for uninitialized values used as branch conditions", "https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-branch", false)
0237 CHECKER("core.uninitialized.CapturedBlockVariable", UndefCapturedBlockVarChecker, "Check for blocks that capture uninitialized values", "", false)
0238 CHECKER("core.UndefinedBinaryOperatorResult", UndefResultChecker, "Check for undefined results of binary operators", "https://clang.llvm.org/docs/analyzer/checkers.html#core-undefinedbinaryoperatorresult", false)
0239 CHECKER("core.uninitialized.ArraySubscript", UndefinedArraySubscriptChecker, "Check for uninitialized values used as array subscripts", "https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-arraysubscript", false)
0240 CHECKER("core.uninitialized.Assign", UndefinedAssignmentChecker, "Check for assigning uninitialized values", "https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-assign", false)
0241 CHECKER("core.uninitialized.NewArraySize", UndefinedNewArraySizeChecker, "Check if the size of the array in a new[] expression is undefined", "https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-newarraysize", false)
0242 CHECKER("valist.Uninitialized", UninitializedChecker, "Check for usages of uninitialized (or already released) va_lists.", "", false)
0243 CHECKER("optin.cplusplus.UninitializedObject", UninitializedObjectChecker, "Reports uninitialized fields after object construction", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-cplusplus-uninitializedobject", false)
0244 CHECKER("unix.API", UnixAPIMisuseChecker, "Check calls to various UNIX/Posix functions", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-api", false)
0245 CHECKER("optin.portability.UnixAPI", UnixAPIPortabilityChecker, "Finds implementation-defined behavior in UNIX/Posix functions", "", false)
0246 CHECKER("alpha.deadcode.UnreachableCode", UnreachableCodeChecker, "Check unreachable code", "https://clang.llvm.org/docs/analyzer/checkers.html#alpha-deadcode-unreachablecode", false)
0247 CHECKER("valist.Unterminated", UnterminatedChecker, "Check for va_lists which are not released by a va_end call.", "", false)
0248 CHECKER("core.VLASize", VLASizeChecker, "Check for declarations of VLA of undefined or zero size", "https://clang.llvm.org/docs/analyzer/checkers.html#core-vlasize", false)
0249 CHECKER("valist.ValistBase", ValistBase, "Gathers information about va_lists.", "", true)
0250 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.llvm.org/docs/analyzer/checkers.html#osx-cocoa-variadicmethodtypes", false)
0251 CHECKER("unix.Vfork", VforkChecker, "Check for proper usage of vfork", "https://clang.llvm.org/docs/analyzer/checkers.html#unix-vfork", false)
0252 CHECKER("optin.cplusplus.VirtualCall", VirtualCallChecker, "Check virtual function calls during construction/destruction", "https://clang.llvm.org/docs/analyzer/checkers.html#optin-cplusplus-virtualcall", false)
0253 CHECKER("cplusplus.VirtualCallModeling", VirtualCallModeling, "Auxiliary modeling for the virtual method call checkers", "", true)
0254 CHECKER("security.insecureAPI.bcmp", bcmp, "Warn on uses of the 'bcmp' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-bcmp", false)
0255 CHECKER("security.insecureAPI.bcopy", bcopy, "Warn on uses of the 'bcopy' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-bcopy", false)
0256 CHECKER("security.insecureAPI.bzero", bzero, "Warn on uses of the 'bzero' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-bzero", false)
0257 CHECKER("security.insecureAPI.decodeValueOfObjCType", decodeValueOfObjCType, "Warn on uses of the '-decodeValueOfObjCType:at:' method", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-decodevalueofobjctype", false)
0258 CHECKER("security.insecureAPI.getpw", getpw, "Warn on uses of the 'getpw' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-getpw", false)
0259 CHECKER("security.insecureAPI.gets", gets, "Warn on uses of the 'gets' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-gets", false)
0260 CHECKER("security.insecureAPI.mkstemp", mkstemp, "Warn when 'mkstemp' is passed fewer than 6 X's in the format string", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-mkstemp", false)
0261 CHECKER("security.insecureAPI.mktemp", mktemp, "Warn on uses of the 'mktemp' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-mktemp", false)
0262 CHECKER("security.insecureAPI.rand", rand, "Warn on uses of the 'rand', 'random', and related functions", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-rand", false)
0263 CHECKER("security.insecureAPI.strcpy", strcpy, "Warn on uses of the 'strcpy' and 'strcat' functions", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-strcpy", false)
0264 CHECKER("security.insecureAPI.vfork", vfork, "Warn on uses of the 'vfork' function", "https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-vfork", false)
0265 
0266 #endif // GET_CHECKERS
0267 
0268 
0269 #ifdef GET_CHECKER_DEPENDENCIES
0270 CHECKER_DEPENDENCY("alpha.core.C11Lock", "alpha.core.PthreadLockBase")
0271 CHECKER_DEPENDENCY("osx.coreFoundation.CFError", "osx.NSOrCFErrorDerefChecker")
0272 CHECKER_DEPENDENCY("alpha.unix.cstring.BufferOverlap", "unix.cstring.CStringModeling")
0273 CHECKER_DEPENDENCY("unix.cstring.NotNullTerminated", "unix.cstring.CStringModeling")
0274 CHECKER_DEPENDENCY("unix.cstring.NullArg", "unix.cstring.CStringModeling")
0275 CHECKER_DEPENDENCY("alpha.unix.cstring.OutOfBounds", "unix.cstring.CStringModeling")
0276 CHECKER_DEPENDENCY("unix.cstring.BadSizeArg", "unix.cstring.CStringModeling")
0277 CHECKER_DEPENDENCY("alpha.unix.cstring.UninitializedRead", "unix.cstring.CStringModeling")
0278 CHECKER_DEPENDENCY("core.CallAndMessage", "core.CallAndMessageModeling")
0279 CHECKER_DEPENDENCY("valist.CopyToSelf", "valist.ValistBase")
0280 CHECKER_DEPENDENCY("debug.DebugContainerModeling", "alpha.cplusplus.ContainerModeling")
0281 CHECKER_DEPENDENCY("debug.DebugIteratorModeling", "debug.DebugContainerModeling")
0282 CHECKER_DEPENDENCY("debug.DebugIteratorModeling", "alpha.cplusplus.IteratorModeling")
0283 CHECKER_DEPENDENCY("security.insecureAPI.DeprecatedOrUnsafeBufferHandling", "security.insecureAPI.SecuritySyntaxChecker")
0284 CHECKER_DEPENDENCY("unix.DynamicMemoryModeling", "unix.cstring.CStringModeling")
0285 CHECKER_DEPENDENCY("unix.Errno", "apiModeling.Errno")
0286 CHECKER_DEPENDENCY("debug.ErrnoTest", "apiModeling.Errno")
0287 CHECKER_DEPENDENCY("security.FloatLoopCounter", "security.insecureAPI.SecuritySyntaxChecker")
0288 CHECKER_DEPENDENCY("alpha.fuchsia.Lock", "alpha.core.PthreadLockBase")
0289 CHECKER_DEPENDENCY("optin.taint.GenericTaint", "optin.taint.TaintPropagation")
0290 CHECKER_DEPENDENCY("cplusplus.InnerPointer", "unix.DynamicMemoryModeling")
0291 CHECKER_DEPENDENCY("alpha.osx.cocoa.InstanceVariableInvalidation", "alpha.osx.cocoa.IvarInvalidationModeling")
0292 CHECKER_DEPENDENCY("alpha.cplusplus.InvalidatedIterator", "alpha.cplusplus.IteratorModeling")
0293 CHECKER_DEPENDENCY("alpha.cplusplus.IteratorModeling", "alpha.cplusplus.ContainerModeling")
0294 CHECKER_DEPENDENCY("alpha.cplusplus.IteratorRange", "alpha.cplusplus.IteratorModeling")
0295 CHECKER_DEPENDENCY("unix.Malloc", "unix.DynamicMemoryModeling")
0296 CHECKER_DEPENDENCY("unix.MismatchedDeallocator", "unix.DynamicMemoryModeling")
0297 CHECKER_DEPENDENCY("alpha.cplusplus.MismatchedIterator", "alpha.cplusplus.IteratorModeling")
0298 CHECKER_DEPENDENCY("alpha.osx.cocoa.MissingInvalidationMethod", "alpha.osx.cocoa.IvarInvalidationModeling")
0299 CHECKER_DEPENDENCY("osx.cocoa.NSError", "osx.NSOrCFErrorDerefChecker")
0300 CHECKER_DEPENDENCY("cplusplus.NewDelete", "unix.DynamicMemoryModeling")
0301 CHECKER_DEPENDENCY("cplusplus.NewDeleteLeaks", "unix.DynamicMemoryModeling")
0302 CHECKER_DEPENDENCY("core.NullDereference", "core.DereferenceModeling")
0303 CHECKER_DEPENDENCY("nullability.NullPassedToNonnull", "nullability.NullabilityBase")
0304 CHECKER_DEPENDENCY("nullability.NullReturnedFromNonnull", "nullability.NullabilityBase")
0305 CHECKER_DEPENDENCY("nullability.NullableDereferenced", "nullability.NullabilityBase")
0306 CHECKER_DEPENDENCY("nullability.NullablePassedToNonnull", "nullability.NullabilityBase")
0307 CHECKER_DEPENDENCY("nullability.NullableReturnedFromNonnull", "nullability.NullabilityBase")
0308 CHECKER_DEPENDENCY("osx.OSObjectRetainCount", "osx.cocoa.RetainCountBase")
0309 CHECKER_DEPENDENCY("osx.cocoa.ObjCGenerics", "core.DynamicTypePropagation")
0310 CHECKER_DEPENDENCY("cplusplus.PlacementNew", "unix.DynamicMemoryModeling")
0311 CHECKER_DEPENDENCY("alpha.unix.PthreadLock", "alpha.core.PthreadLockBase")
0312 CHECKER_DEPENDENCY("cplusplus.PureVirtualCall", "cplusplus.VirtualCallModeling")
0313 CHECKER_DEPENDENCY("osx.cocoa.RetainCount", "osx.cocoa.RetainCountBase")
0314 CHECKER_DEPENDENCY("alpha.cplusplus.STLAlgorithmModeling", "alpha.cplusplus.ContainerModeling")
0315 CHECKER_DEPENDENCY("alpha.cplusplus.SmartPtr", "cplusplus.SmartPtrModeling")
0316 CHECKER_DEPENDENCY("alpha.core.StackAddressAsyncEscape", "core.StackAddrEscapeBase")
0317 CHECKER_DEPENDENCY("core.StackAddressEscape", "core.StackAddrEscapeBase")
0318 CHECKER_DEPENDENCY("optin.taint.TaintedAlloc", "unix.DynamicMemoryModeling")
0319 CHECKER_DEPENDENCY("optin.taint.TaintedAlloc", "optin.taint.TaintPropagation")
0320 CHECKER_DEPENDENCY("optin.taint.TaintedDiv", "optin.taint.TaintPropagation")
0321 CHECKER_DEPENDENCY("security.insecureAPI.UncheckedReturn", "security.insecureAPI.SecuritySyntaxChecker")
0322 CHECKER_DEPENDENCY("valist.Uninitialized", "valist.ValistBase")
0323 CHECKER_DEPENDENCY("valist.Unterminated", "valist.ValistBase")
0324 CHECKER_DEPENDENCY("optin.cplusplus.VirtualCall", "cplusplus.VirtualCallModeling")
0325 CHECKER_DEPENDENCY("security.insecureAPI.bcmp", "security.insecureAPI.SecuritySyntaxChecker")
0326 CHECKER_DEPENDENCY("security.insecureAPI.bcopy", "security.insecureAPI.SecuritySyntaxChecker")
0327 CHECKER_DEPENDENCY("security.insecureAPI.bzero", "security.insecureAPI.SecuritySyntaxChecker")
0328 CHECKER_DEPENDENCY("security.insecureAPI.decodeValueOfObjCType", "security.insecureAPI.SecuritySyntaxChecker")
0329 CHECKER_DEPENDENCY("security.insecureAPI.getpw", "security.insecureAPI.SecuritySyntaxChecker")
0330 CHECKER_DEPENDENCY("security.insecureAPI.gets", "security.insecureAPI.SecuritySyntaxChecker")
0331 CHECKER_DEPENDENCY("security.insecureAPI.mkstemp", "security.insecureAPI.SecuritySyntaxChecker")
0332 CHECKER_DEPENDENCY("security.insecureAPI.mktemp", "security.insecureAPI.SecuritySyntaxChecker")
0333 CHECKER_DEPENDENCY("security.insecureAPI.rand", "security.insecureAPI.SecuritySyntaxChecker")
0334 CHECKER_DEPENDENCY("security.insecureAPI.strcpy", "security.insecureAPI.SecuritySyntaxChecker")
0335 CHECKER_DEPENDENCY("security.insecureAPI.vfork", "security.insecureAPI.SecuritySyntaxChecker")
0336 
0337 #endif // GET_CHECKER_DEPENDENCIES
0338 
0339 #ifdef GET_CHECKER_WEAK_DEPENDENCIES
0340 CHECKER_WEAK_DEPENDENCY("unix.StdCLibraryFunctions", "core.CallAndMessage")
0341 CHECKER_WEAK_DEPENDENCY("unix.StdCLibraryFunctions", "core.NonNullParamChecker")
0342 CHECKER_WEAK_DEPENDENCY("unix.StdCLibraryFunctions", "unix.Stream")
0343 CHECKER_WEAK_DEPENDENCY("debug.StdCLibraryFunctionsTester", "unix.StdCLibraryFunctions")
0344 CHECKER_WEAK_DEPENDENCY("unix.Stream", "core.NonNullParamChecker")
0345 CHECKER_WEAK_DEPENDENCY("debug.StreamTester", "unix.Stream")
0346 
0347 #endif // GET_CHECKER_WEAK_DEPENDENCIES
0348 
0349 #ifdef GET_CHECKER_OPTIONS
0350 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCastExpr", "", "false", "released", true)
0351 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCastExpr", "", "false", "released", true)
0352 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtArraySubscriptExpr", "", "false", "released", true)
0353 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtArraySubscriptExpr", "", "false", "released", true)
0354 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXNewExpr", "", "false", "released", true)
0355 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXNewExpr", "", "false", "released", true)
0356 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXDeleteExpr", "", "false", "released", true)
0357 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXDeleteExpr", "", "false", "released", true)
0358 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtCXXConstructExpr", "", "false", "released", true)
0359 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtCXXConstructExpr", "", "false", "released", true)
0360 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreStmtOffsetOfExpr", "", "false", "released", true)
0361 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostStmtOffsetOfExpr", "", "false", "released", true)
0362 CHECKER_OPTION("bool", "debug.AnalysisOrder", "EvalCall", "", "false", "released", true)
0363 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PreCall", "", "false", "released", true)
0364 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PostCall", "", "false", "released", true)
0365 CHECKER_OPTION("bool", "debug.AnalysisOrder", "EndFunction", "", "false", "released", true)
0366 CHECKER_OPTION("bool", "debug.AnalysisOrder", "EndAnalysis", "", "false", "released", true)
0367 CHECKER_OPTION("bool", "debug.AnalysisOrder", "NewAllocator", "", "false", "released", true)
0368 CHECKER_OPTION("bool", "debug.AnalysisOrder", "Bind", "", "false", "released", true)
0369 CHECKER_OPTION("bool", "debug.AnalysisOrder", "LiveSymbols", "", "false", "released", true)
0370 CHECKER_OPTION("bool", "debug.AnalysisOrder", "RegionChanges", "", "false", "released", true)
0371 CHECKER_OPTION("bool", "debug.AnalysisOrder", "PointerEscape", "", "false", "released", true)
0372 CHECKER_OPTION("bool", "debug.AnalysisOrder", "*", "Enables all callbacks.", "false", "released", true)
0373 CHECKER_OPTION("bool", "core.BitwiseShift", "Pedantic", "If set to true, the checker reports undefined behavior even if it is supported by most compilers. (This flag has no effect in C++20 where these constructs are legal.)", "false", "released", false)
0374 CHECKER_OPTION("bool", "core.CallAndMessage", "FunctionPointer", "Check whether a called function pointer is null or undefined", "true", "released", false)
0375 CHECKER_OPTION("bool", "core.CallAndMessage", "ParameterCount", "Check whether a function was called with the appropriate number of arguments", "true", "released", false)
0376 CHECKER_OPTION("bool", "core.CallAndMessage", "CXXThisMethodCall", "Check whether the implicit this parameter is null or undefined upon a method call", "true", "released", false)
0377 CHECKER_OPTION("bool", "core.CallAndMessage", "CXXDeallocationArg", "Check whether the argument of operator delete is undefined", "true", "released", false)
0378 CHECKER_OPTION("bool", "core.CallAndMessage", "ArgInitializedness", "Check whether any of the pass-by-value parameters is undefined", "true", "released", false)
0379 CHECKER_OPTION("bool", "core.CallAndMessage", "ArgPointeeInitializedness", "Check whether the pointee of a pass-by-reference or pass-by-pointer is undefined", "false", "alpha", false)
0380 CHECKER_OPTION("bool", "core.CallAndMessage", "NilReceiver", "Check whether the reciever in the message expression is nil", "true", "released", false)
0381 CHECKER_OPTION("bool", "core.CallAndMessage", "UndefReceiver", "Check whether the reciever in the message expression is undefined", "true", "released", false)
0382 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)
0383 CHECKER_OPTION("bool", "alpha.clone.CloneChecker", "ReportNormalClones", "Report all clones, even less suspicious ones.", "true", "released", false)
0384 CHECKER_OPTION("string", "alpha.clone.CloneChecker", "IgnoredFilesPattern", "If supplied, the checker wont analyze files with a filename that matches the given pattern.", "\"\"", "released", false)
0385 CHECKER_OPTION("bool", "deadcode.DeadStores", "WarnForDeadNestedAssignments", "Warns for deadstores in nested assignments.E.g.: if ((P = f())) where P is unused.", "true", "released", false)
0386 CHECKER_OPTION("bool", "deadcode.DeadStores", "ShowFixIts", "Enable fix-it hints for this checker", "false", "alpha", false)
0387 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)
0388 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)
0389 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)
0390 CHECKER_OPTION("bool", "unix.Errno", "AllowErrnoReadOutsideConditionExpressions", "Allow read of undefined value from errno outside of conditions", "true", "alpha", false)
0391 CHECKER_OPTION("bool", "security.cert.env.InvalidPtr", "InvalidatingGetEnv", "Regard getenv as an invalidating call (as per POSIX standard), which can lead to false positives depending on implementation.", "false", "released", false)
0392 CHECKER_OPTION("string", "cplusplus.Move", "WarnOn", "With setting \"KnownsOnly\" warn only on objects with known move semantics like smart pointers and other STL objects. With setting \"KnownsAndLocals\" warn additionally on local variables (or rvalue references). With setting \"All\" warn on all variables (excluding global variables).", "KnownsAndLocals", "released", false)
0393 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)
0394 CHECKER_OPTION("bool", "core.NullDereference", "SuppressAddressSpaces", "Suppresses warning when pointer dereferences an address space", "true", "released", false)
0395 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)
0396 CHECKER_OPTION("int", "optin.performance.Padding", "AllowedPad", "Reports are only generated if the excessive padding exceeds 'AllowedPad' in bytes.", "24", "released", false)
0397 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)
0398 CHECKER_OPTION("bool", "alpha.cplusplus.STLAlgorithmModeling", "AggressiveStdFindModeling", "Enables exploration of the failure branch in std::find-like functions.", "false", "released", false)
0399 CHECKER_OPTION("bool", "cplusplus.SmartPtrModeling", "ModelSmartPtrDereference", "Enable modeling for SmartPtr null dereferences", "false", "alpha", true)
0400 CHECKER_OPTION("bool", "unix.StdCLibraryFunctions", "DisplayLoadedSummaries", "If set to true, the checker displays the found summaries for the given translation unit.", "false", "released", true)
0401 CHECKER_OPTION("bool", "unix.StdCLibraryFunctions", "ModelPOSIX", "If set to true, the checker models additional functions from the POSIX standard.", "true", "alpha", false)
0402 CHECKER_OPTION("bool", "unix.Stream", "Pedantic", "If false, assume that stream operations which are often not checked for error do not fail.", "false", "alpha", false)
0403 CHECKER_OPTION("string", "optin.taint.TaintPropagation", "Config", "Specifies the name of the configuration file.", "", "released", false)
0404 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)
0405 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)
0406 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)
0407 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)
0408 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)
0409 CHECKER_OPTION("bool", "optin.cplusplus.VirtualCall", "ShowFixIts", "Enable fix-it hints for this checker", "false", "alpha", false)
0410 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)
0411 #endif // GET_CHECKER_OPTIONS
0412