| // This file is automatically generated. Do not edit this file by hand. |
| |
| #ifdef GET_PACKAGES |
| PACKAGE("alpha.unix.cstring") |
| PACKAGE("unix") |
| PACKAGE("alpha.clone") |
| PACKAGE("alpha") |
| PACKAGE("debug") |
| PACKAGE("osx.coreFoundation") |
| PACKAGE("apiModeling") |
| PACKAGE("core") |
| PACKAGE("optin") |
| PACKAGE("unix.cstring") |
| PACKAGE("optin.portability") |
| PACKAGE("nullability") |
| PACKAGE("core.uninitialized") |
| PACKAGE("apiModeling.google") |
| PACKAGE("alpha.security.taint") |
| PACKAGE("alpha.deadcode") |
| PACKAGE("alpha.cplusplus") |
| PACKAGE("alpha.osx.cocoa") |
| PACKAGE("optin.cplusplus") |
| PACKAGE("optin.osx.cocoa") |
| PACKAGE("deadcode") |
| PACKAGE("optin.performance") |
| PACKAGE("cplusplus") |
| PACKAGE("osx.coreFoundation.containers") |
| PACKAGE("osx.cocoa") |
| PACKAGE("core.builtin") |
| PACKAGE("alpha.llvm") |
| PACKAGE("optin.osx.cocoa.localizability") |
| PACKAGE("alpha.osx.cocoa.localizability") |
| PACKAGE("optin.osx") |
| PACKAGE("valist") |
| PACKAGE("alpha.osx") |
| PACKAGE("alpha.security") |
| PACKAGE("security") |
| PACKAGE("alpha.unix") |
| PACKAGE("osx") |
| PACKAGE("llvm") |
| PACKAGE("alpha.core") |
| PACKAGE("security.insecureAPI") |
| PACKAGE("optin.mpi") |
| #endif // GET_PACKAGES |
| |
| |
| #ifdef GET_CHECKERS |
| |
| CHECKER("debug.AnalysisOrder", AnalysisOrderChecker, "Print callbacks that are called during analysis in order", "") |
| CHECKER("debug.Stats", AnalyzerStatsChecker, "Emit warnings with analyzer statistics", "") |
| CHECKER("alpha.security.ArrayBound", ArrayBoundChecker, "Warn about buffer overflows (older checker)", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.ArrayBound") |
| CHECKER("alpha.security.ArrayBoundV2", ArrayBoundCheckerV2, "Warn about buffer overflows (newer checker)", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.ArrayBoundV2") |
| CHECKER("osx.cocoa.AutoreleaseWrite", AutoreleaseWriteChecker, "Warn about potentially crashing writes to autoreleasing objects from different autoreleasing pools in Objective-C", "") |
| 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") |
| 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") |
| CHECKER("core.builtin.BuiltinFunctions", BuiltinFunctionChecker, "Evaluate compiler builtin functions (e.g., alloca())", "") |
| CHECKER("osx.coreFoundation.CFError", CFErrorChecker, "Check usage of CFErrorRef* parameters", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFError") |
| CHECKER("debug.DumpCFG", CFGDumper, "Display Control-Flow Graphs", "") |
| CHECKER("debug.ViewCFG", CFGViewer, "View Control-Flow Graphs using GraphViz", "") |
| CHECKER("osx.coreFoundation.CFNumber", CFNumberChecker, "Check for proper uses of CFNumber APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFNumber") |
| CHECKER("osx.coreFoundation.CFRetainRelease", CFRetainReleaseChecker, "Check for null arguments to CFRetain/CFRelease/CFMakeCollectable", "https://clang-analyzer.llvm.org/available_checks.html#osx.coreFoundation.CFRetainRelease") |
| 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") |
| 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.", "") |
| 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") |
| 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") |
| 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") |
| 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") |
| CHECKER("cplusplus.SelfAssignment", CXXSelfAssignmentChecker, "Checks C++ copy and move assignment operators for self assignment", "") |
| 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") |
| CHECKER("alpha.core.CallAndMessageUnInitRefArg", CallAndMessageUnInitRefArg, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers, and pointer to undefined variables)", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.CallAndMessageUnInitRefArg") |
| CHECKER("debug.DumpCalls", CallDumper, "Print calls as they are traversed by the engine", "") |
| CHECKER("debug.DumpCallGraph", CallGraphDumper, "Display Call Graph", "") |
| CHECKER("debug.ViewCallGraph", CallGraphViewer, "View Call Graph using GraphViz", "") |
| 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") |
| 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") |
| CHECKER("alpha.unix.Chroot", ChrootChecker, "Check improper use of chroot", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.Chroot") |
| 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") |
| CHECKER("alpha.clone.CloneChecker", CloneChecker, "Reports similar pieces of code.", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.clone.CloneChecker") |
| CHECKER("debug.ConfigDumper", ConfigDumper, "Dump config table", "") |
| CHECKER("alpha.core.Conversion", ConversionChecker, "Loss of sign/precision in implicit conversions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.core.Conversion") |
| CHECKER("valist.CopyToSelf", CopyToSelfChecker, "Check for va_lists which are copied onto itself.", "") |
| 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") |
| 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") |
| 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") |
| CHECKER("core.NullDereference", DereferenceChecker, "Check for dereferences of null pointers", "https://clang-analyzer.llvm.org/available_checks.html#core.NullDereference") |
| 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") |
| CHECKER("alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", DirectIvarAssignmentForAnnotatedFunctions, "Check for direct assignments to instance variables in the methods annotated with objc_no_direct_instance_variable_assignment", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions") |
| CHECKER("core.DivideZero", DivZeroChecker, "Check for division by zero", "https://clang-analyzer.llvm.org/available_checks.html#core.DivideZero") |
| CHECKER("debug.DumpDominators", DominatorsTreeDumper, "Print the dominance tree for a given CFG", "") |
| 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.", "") |
| 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") |
| CHECKER("core.DynamicTypePropagation", DynamicTypePropagation, "Generate dynamic type information", "") |
| 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") |
| 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") |
| CHECKER("debug.ViewExplodedGraph", ExplodedGraphViewer, "View Exploded Graphs using GraphViz", "") |
| CHECKER("debug.ExprInspection", ExprInspectionChecker, "Check the analyzer's understanding of expressions", "") |
| 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") |
| 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") |
| CHECKER("optin.performance.GCDAntipattern", GCDAntipattern, "Check for performance anti-patterns when using Grand Central Dispatch", "") |
| CHECKER("apiModeling.google.GTest", GTestChecker, "Model gtest assertion APIs", "") |
| 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") |
| 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") |
| CHECKER("cplusplus.InnerPointer", InnerPointerChecker, "Check for inner pointers of C++ containers used after re/deallocation", "") |
| 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") |
| CHECKER("alpha.cplusplus.InvalidatedIterator", InvalidatedIteratorChecker, "Check for use of invalidated iterators", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.InvalidatedIterator") |
| CHECKER("alpha.cplusplus.IteratorModeling", IteratorModeling, "Models iterators of C++ containers", "") |
| CHECKER("alpha.cplusplus.IteratorRange", IteratorRangeChecker, "Check for iterators used outside their valid ranges", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.IteratorRange") |
| 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'", "") |
| CHECKER("alpha.llvm.Conventions", LLVMConventionsChecker, "Check code for LLVM codebase conventions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.llvm.Conventions") |
| CHECKER("debug.DumpLiveStmts", LiveStatementsDumper, "Print results of live statement analysis", "") |
| CHECKER("debug.DumpLiveVars", LiveVariablesDumper, "Print results of live variable analysis", "") |
| CHECKER("optin.mpi.MPI-Checker", MPIChecker, "Checks MPI code", "https://clang-analyzer.llvm.org/available_checks.html#optin.mpi.MPI-Checker") |
| CHECKER("osx.SecKeychainAPI", MacOSKeychainAPIChecker, "Check for proper uses of Secure Keychain APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.SecKeychainAPI") |
| CHECKER("osx.API", MacOSXAPIChecker, "Check for proper uses of various Apple APIs", "https://clang-analyzer.llvm.org/available_checks.html#osx.API") |
| 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") |
| CHECKER("alpha.security.MallocOverflow", MallocOverflowSecurityChecker, "Check for overflows in the arguments to malloc()", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.security.MallocOverflow") |
| CHECKER("unix.MallocSizeof", MallocSizeofChecker, "Check for dubious malloc arguments involving sizeof", "https://clang-analyzer.llvm.org/available_checks.html#unix.MallocSizeof") |
| CHECKER("unix.MismatchedDeallocator", MismatchedDeallocatorChecker, "Check for mismatched deallocators.", "https://clang-analyzer.llvm.org/available_checks.html#unix.MismatchedDeallocator") |
| 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") |
| 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") |
| 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") |
| CHECKER("cplusplus.Move", MoveChecker, "Find use-after-move bugs in C++", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.Move") |
| 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") |
| CHECKER("osx.cocoa.NSError", NSErrorChecker, "Check usage of NSError** parameters", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.NSError") |
| CHECKER("osx.NSOrCFErrorDerefChecker", NSOrCFErrorDerefChecker, "Implementation checker for NSErrorChecker and CFErrorChecker", "") |
| 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") |
| CHECKER("cplusplus.NewDeleteLeaks", NewDeleteLeaksChecker, "Check for memory leaks. Traces memory managed by new/delete.", "https://clang-analyzer.llvm.org/available_checks.html#cplusplus.NewDeleteLeaks") |
| 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") |
| CHECKER("core.builtin.NoReturnFunctions", NoReturnFunctionChecker, "Evaluate \"panic\" functions that are known to not return to the caller", "") |
| 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") |
| 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") |
| CHECKER("core.NonnilStringConstants", NonnullGlobalConstantsChecker, "Assume that const string-like globals are non-null", "") |
| 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") |
| 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") |
| CHECKER("nullability.NullabilityBase", NullabilityBase, "Stores information during the analysis about nullability.", "") |
| CHECKER("nullability.NullableDereferenced", NullableDereferencedChecker, "Warns when a nullable pointer is dereferenced.", "https://clang-analyzer.llvm.org/available_checks.html#nullability.NullableDereferenced") |
| 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") |
| CHECKER("nullability.NullableReturnedFromNonnull", NullableReturnedFromNonnullChecker, "Warns when a nullable pointer is returned from a function that has _Nonnull return type.", "") |
| CHECKER("osx.NumberObjectConversion", NumberObjectConversionChecker, "Check for erroneous conversions of objects representing numbers into numbers", "") |
| CHECKER("optin.osx.OSObjectCStyleCast", OSObjectCStyleCast, "Checker for C-style casts of OSObjects", "") |
| CHECKER("osx.OSObjectRetainCount", OSObjectRetainCountChecker, "Check for leaks and improper reference count management for OSObject", "") |
| 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") |
| 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") |
| 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") |
| 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") |
| 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") |
| CHECKER("osx.cocoa.Loops", ObjCLoopChecker, "Improved modeling of loops using Cocoa collection types", "") |
| 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") |
| CHECKER("osx.cocoa.NonNilReturnValue", ObjCNonNilReturnValueChecker, "Model the APIs that are guaranteed to return a non-nil value", "") |
| CHECKER("osx.ObjCProperty", ObjCPropertyChecker, "Check for proper uses of Objective-C properties", "") |
| 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") |
| CHECKER("osx.cocoa.MissingSuperCall", ObjCSuperCallChecker, "Warn about Objective-C methods that lack a necessary call to super", "") |
| 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") |
| CHECKER("osx.cocoa.UnusedIvars", ObjCUnusedIvarsChecker, "Warn about private ivars that are never used", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.UnusedIvars") |
| CHECKER("optin.performance.Padding", PaddingChecker, "Check for excessively padded structs.", "") |
| 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") |
| 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") |
| 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") |
| CHECKER("alpha.unix.PthreadLock", PthreadLockChecker, "Simple lock -> unlock checker", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.PthreadLock") |
| CHECKER("osx.cocoa.RetainCountBase", RetainCountBase, "Common base of various retain count related checkers", "") |
| CHECKER("osx.cocoa.RetainCount", RetainCountChecker, "Check for leaks and improper reference count management", "https://clang-analyzer.llvm.org/available_checks.html#osx.cocoa.RetainCount") |
| 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") |
| 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") |
| CHECKER("osx.cocoa.RunLoopAutoreleaseLeak", RunLoopAutoreleaseLeakChecker, "Check for leaked memory in autorelease pools that will never be drained", "") |
| CHECKER("security.insecureAPI.SecuritySyntaxChecker", SecuritySyntaxChecker, "Base of various security function related checkers", "") |
| CHECKER("alpha.unix.SimpleStream", SimpleStreamChecker, "Check for misuses of stream APIs", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.SimpleStream") |
| 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") |
| 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") |
| CHECKER("core.StackAddrEscapeBase", StackAddrEscapeBase, "Generate information about stack address escapes.", "") |
| 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") |
| CHECKER("apiModeling.StdCLibraryFunctions", StdCLibraryFunctionsChecker, "Improve modeling of the C standard library functions", "") |
| CHECKER("alpha.unix.Stream", StreamChecker, "Check stream handling functions", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.unix.Stream") |
| CHECKER("debug.TaintTest", TaintTesterChecker, "Mark tainted symbols as such.", "") |
| 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") |
| CHECKER("debug.DumpTraversal", TraversalDumper, "Print branch conditions as they are traversed by the engine", "") |
| CHECKER("apiModeling.TrustNonnull", TrustNonnullChecker, "Trust that returns from framework methods annotated with _Nonnull are not null", "") |
| 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") |
| CHECKER("core.uninitialized.Branch", UndefBranchChecker, "Check for uninitialized values used as branch conditions", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.Branch") |
| CHECKER("core.uninitialized.CapturedBlockVariable", UndefCapturedBlockVarChecker, "Check for blocks that capture uninitialized values", "") |
| CHECKER("core.UndefinedBinaryOperatorResult", UndefResultChecker, "Check for undefined results of binary operators", "https://clang-analyzer.llvm.org/available_checks.html#core.UndefinedBinaryOperatorResult") |
| CHECKER("core.uninitialized.ArraySubscript", UndefinedArraySubscriptChecker, "Check for uninitialized values used as array subscripts", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.ArraySubscript") |
| CHECKER("core.uninitialized.Assign", UndefinedAssignmentChecker, "Check for assigning uninitialized values", "https://clang-analyzer.llvm.org/available_checks.html#core.uninitialized.Assign") |
| CHECKER("valist.Uninitialized", UninitializedChecker, "Check for usages of uninitialized (or already released) va_lists.", "") |
| CHECKER("alpha.cplusplus.UninitializedObject", UninitializedObjectChecker, "Reports uninitialized fields after object construction", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.cplusplus.UninitializedObject") |
| CHECKER("unix.API", UnixAPIMisuseChecker, "Check calls to various UNIX/Posix functions", "https://clang-analyzer.llvm.org/available_checks.html#unix.API") |
| CHECKER("optin.portability.UnixAPI", UnixAPIPortabilityChecker, "Finds implementation-defined behavior in UNIX/Posix functions", "") |
| CHECKER("alpha.deadcode.UnreachableCode", UnreachableCodeChecker, "Check unreachable code", "https://clang-analyzer.llvm.org/alpha_checks.html#alpha.deadcode.UnreachableCode") |
| CHECKER("valist.Unterminated", UnterminatedChecker, "Check for va_lists which are not released by a va_end call.", "") |
| CHECKER("core.VLASize", VLASizeChecker, "Check for declarations of VLA of undefined or zero size", "https://clang-analyzer.llvm.org/available_checks.html#core.VLASize") |
| CHECKER("valist.ValistBase", ValistBase, "Gathers information about va_lists.", "") |
| 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") |
| CHECKER("unix.Vfork", VforkChecker, "Check for proper usage of vfork", "https://clang-analyzer.llvm.org/available_checks.html#unix.Vfork") |
| CHECKER("optin.cplusplus.VirtualCall", VirtualCallChecker, "Check virtual function calls during construction or destruction", "https://clang-analyzer.llvm.org/available_checks.html#optin.cplusplus.VirtualCall") |
| CHECKER("security.insecureAPI.bcmp", bcmp, "Warn on uses of the 'bcmp' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bcmp") |
| CHECKER("security.insecureAPI.bcopy", bcopy, "Warn on uses of the 'bcopy' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bcopy") |
| CHECKER("security.insecureAPI.bzero", bzero, "Warn on uses of the 'bzero' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.bzero") |
| CHECKER("security.insecureAPI.getpw", getpw, "Warn on uses of the 'getpw' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.getpw") |
| CHECKER("security.insecureAPI.gets", gets, "Warn on uses of the 'gets' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.gets") |
| 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") |
| CHECKER("security.insecureAPI.mktemp", mktemp, "Warn on uses of the 'mktemp' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.mktemp") |
| 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") |
| 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") |
| CHECKER("security.insecureAPI.vfork", vfork, "Warn on uses of the 'vfork' function", "https://clang-analyzer.llvm.org/available_checks.html#security.insecureAPI.vfork") |
| |
| #endif // GET_CHECKERS |
| |
| |
| #ifdef GET_CHECKER_DEPENDENCIES |
| 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("alpha.core.CallAndMessageUnInitRefArg", "core.CallAndMessage") |
| CHECKER_DEPENDENCY("valist.CopyToSelf", "valist.ValistBase") |
| CHECKER_DEPENDENCY("security.insecureAPI.DeprecatedOrUnsafeBufferHandling", "security.insecureAPI.SecuritySyntaxChecker") |
| CHECKER_DEPENDENCY("alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", "alpha.osx.cocoa.DirectIvarAssignment") |
| CHECKER_DEPENDENCY("unix.DynamicMemoryModeling", "unix.cstring.CStringModeling") |
| CHECKER_DEPENDENCY("security.FloatLoopCounter", "security.insecureAPI.SecuritySyntaxChecker") |
| 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.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", "cplusplus.NewDelete") |
| 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("osx.cocoa.RetainCount", "osx.cocoa.RetainCountBase") |
| CHECKER_DEPENDENCY("alpha.core.StackAddressAsyncEscape", "core.StackAddrEscapeBase") |
| CHECKER_DEPENDENCY("core.StackAddressEscape", "core.StackAddrEscapeBase") |
| CHECKER_DEPENDENCY("security.insecureAPI.UncheckedReturn", "security.insecureAPI.SecuritySyntaxChecker") |
| CHECKER_DEPENDENCY("valist.Unterminated", "valist.ValistBase") |
| 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.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 |