Line data Source code
1 :
2 : #ifdef GET_GROUPS
3 : #endif // GET_GROUPS
4 :
5 :
6 : #ifdef GET_PACKAGES
7 : PACKAGE("alpha", -1, false)
8 : PACKAGE("alpha.core", -1, true)
9 : PACKAGE("alpha.cplusplus", -1, true)
10 : PACKAGE("alpha.deadcode", -1, true)
11 : PACKAGE("alpha.osx", -1, true)
12 : PACKAGE("alpha.osx.cocoa", -1, true)
13 : PACKAGE("alpha.osx.cocoa.localizability", -1, true)
14 : PACKAGE("alpha.security", -1, true)
15 : PACKAGE("alpha.security.taint", -1, true)
16 : PACKAGE("alpha.unix", -1, true)
17 : PACKAGE("alpha.unix.cstring", -1, true)
18 : PACKAGE("core", -1, false)
19 : PACKAGE("core.builtin", -1, false)
20 : PACKAGE("core.uninitialized", -1, false)
21 : PACKAGE("cplusplus", -1, false)
22 : PACKAGE("deadcode", -1, false)
23 : PACKAGE("debug", -1, false)
24 : PACKAGE("llvm", -1, false)
25 : PACKAGE("nullability", -1, false)
26 : PACKAGE("optin", -1, false)
27 : PACKAGE("optin.osx", -1, false)
28 : PACKAGE("optin.osx.cocoa", -1, false)
29 : PACKAGE("optin.osx.cocoa.localizability", -1, false)
30 : PACKAGE("optin.performance", -1, false)
31 : PACKAGE("osx", -1, false)
32 : PACKAGE("osx.cocoa", -1, false)
33 : PACKAGE("osx.coreFoundation", -1, false)
34 : PACKAGE("osx.coreFoundation.containers", -1, false)
35 : PACKAGE("security", -1, false)
36 : PACKAGE("security.insecureAPI", -1, false)
37 : PACKAGE("unix", -1, false)
38 : PACKAGE("unix.cstring", -1, true)
39 : #endif // GET_PACKAGES
40 :
41 :
42 : #ifdef GET_CHECKERS
43 900 : CHECKER("debug.Stats", AnalyzerStatsChecker, AnalyzerStatsChecker.cpp, "Emit warnings with analyzer statistics", -1, false)
44 900 : CHECKER("alpha.security.ArrayBound", ArrayBoundChecker, ArrayBoundChecker.cpp, "Warn about buffer overflows (older checker)", -1, true)
45 900 : CHECKER("alpha.security.ArrayBoundV2", ArrayBoundCheckerV2, ArrayBoundCheckerV2.cpp, "Warn about buffer overflows (newer checker)", -1, true)
46 900 : CHECKER("alpha.core.BoolAssignment", BoolAssignmentChecker, BoolAssignmentChecker.cpp, "Warn about assigning non-{0,1} values to Boolean variables", -1, true)
47 900 : CHECKER("debug.DumpBugHash", BugHashDumper, DebugCheckers.cpp, "Dump the bug hash for all statements.", -1, false)
48 900 : CHECKER("core.builtin.BuiltinFunctions", BuiltinFunctionChecker, BuiltinFunctionChecker.cpp, "Evaluate compiler builtin functions (e.g., alloca())", -1, false)
49 900 : CHECKER("osx.coreFoundation.CFError", CFErrorChecker, NSErrorChecker.cpp, "Check usage of CFErrorRef* parameters", -1, false)
50 900 : CHECKER("debug.DumpCFG", CFGDumper, DebugCheckers.cpp, "Display Control-Flow Graphs", -1, false)
51 900 : CHECKER("debug.ViewCFG", CFGViewer, DebugCheckers.cpp, "View Control-Flow Graphs using GraphViz", -1, false)
52 900 : CHECKER("osx.coreFoundation.CFNumber", CFNumberCreateChecker, BasicObjCFoundationChecks.cpp, "Check for proper uses of CFNumberCreate", -1, false)
53 900 : CHECKER("osx.coreFoundation.CFRetainRelease", CFRetainReleaseChecker, BasicObjCFoundationChecks.cpp, "Check for null arguments to CFRetain/CFRelease/CFMakeCollectable", -1, false)
54 900 : CHECKER("alpha.unix.cstring.BufferOverlap", CStringBufferOverlap, CStringChecker.cpp, "Checks for overlap in two buffer arguments", -1, true)
55 900 : CHECKER("alpha.unix.cstring.NotNullTerminated", CStringNotNullTerm, CStringChecker.cpp, "Check for arguments which are not null-terminating strings", -1, true)
56 900 : CHECKER("unix.cstring.NullArg", CStringNullArg, CStringChecker.cpp, "Check for null pointers being passed as arguments to C string functions", -1, true)
57 900 : CHECKER("alpha.unix.cstring.OutOfBounds", CStringOutOfBounds, CStringChecker.cpp, "Check for out-of-bounds access in string functions", -1, true)
58 900 : CHECKER("unix.cstring.BadSizeArg", CStringSyntaxChecker, CStringSyntaxChecker.cpp, "Check the size argument passed into C string functions for common erroneous patterns", -1, true)
59 900 : CHECKER("core.CallAndMessage", CallAndMessageChecker, CallAndMessageChecker.cpp, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)", -1, false)
60 900 : CHECKER("alpha.core.CallAndMessageUnInitRefArg", CallAndMessageUnInitRefArg, CallAndMessageChecker.cpp, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers, and pointer to undefined variables)", -1, true)
61 900 : CHECKER("debug.DumpCalls", CallDumper, TraversalChecker.cpp, "Print calls as they are traversed by the engine", -1, false)
62 900 : CHECKER("debug.DumpCallGraph", CallGraphDumper, DebugCheckers.cpp, "Display Call Graph", -1, false)
63 900 : CHECKER("debug.ViewCallGraph", CallGraphViewer, DebugCheckers.cpp, "View Call Graph using GraphViz", -1, false)
64 900 : CHECKER("alpha.core.CastSize", CastSizeChecker, CastSizeChecker.cpp, "Check when casting a malloc'ed type T, whether the size is a multiple of the size of T", -1, true)
65 900 : CHECKER("alpha.core.CastToStruct", CastToStructChecker, CastToStructChecker.cpp, "Check for cast from non-struct pointer to struct pointer", -1, true)
66 900 : CHECKER("alpha.unix.Chroot", ChrootChecker, ChrootChecker.cpp, "Check improper use of chroot", -1, true)
67 900 : CHECKER("osx.cocoa.ClassRelease", ClassReleaseChecker, BasicObjCFoundationChecks.cpp, "Check for sending 'retain', 'release', or 'autorelease' directly to a Class", -1, false)
68 900 : CHECKER("debug.ConfigDumper", ConfigDumper, DebugCheckers.cpp, "Dump config table", -1, false)
69 900 : CHECKER("deadcode.DeadStores", DeadStoresChecker, DeadStoresChecker.cpp, "Check for values stored to variables that are never read afterwards", -1, false)
70 900 : CHECKER("core.NullDereference", DereferenceChecker, DereferenceChecker.cpp, "Check for dereferences of null pointers", -1, false)
71 900 : CHECKER("alpha.osx.cocoa.DirectIvarAssignment", DirectIvarAssignment, DirectIvarAssignment.cpp, "Check for direct assignments to instance variables", -1, true)
72 900 : CHECKER("alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", DirectIvarAssignmentForAnnotatedFunctions, DirectIvarAssignment.cpp, "Check for direct assignments to instance variables in the methods annotated with objc_no_direct_instance_variable_assignment", -1, true)
73 900 : CHECKER("core.DivideZero", DivZeroChecker, DivZeroChecker.cpp, "Check for division by zero", -1, false)
74 : CHECKER("debug.DumpDominators", DominatorsTreeDumper, DebugCheckers.cpp, "Print the dominance tree for a given CFG", -1, false)
75 900 : CHECKER("alpha.core.DynamicTypeChecker", DynamicTypeChecker, DynamicTypeChecker.cpp, "Check for cases where the dynamic and the static type of an object are unrelated.", -1, true)
76 900 : CHECKER("core.DynamicTypePropagation", DynamicTypePropagation, DynamicTypePropagation.cpp, "Generate dynamic type information", -1, false)
77 900 : CHECKER("optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", EmptyLocalizationContextChecker, LocalizationChecker.cpp, "Check that NSLocalizedString macros include a comment for context", -1, false)
78 900 : CHECKER("debug.ViewExplodedGraph", ExplodedGraphViewer, DebugCheckers.cpp, "View Exploded Graphs using GraphViz", -1, false)
79 900 : CHECKER("debug.ExprInspection", ExprInspectionChecker, ExprInspectionChecker.cpp, "Check the analyzer's understanding of expressions", -1, false)
80 900 : CHECKER("alpha.core.FixedAddr", FixedAddressChecker, FixedAddressChecker.cpp, "Check for assignment of a fixed address to a pointer", -1, true)
81 900 : CHECKER("security.FloatLoopCounter", FloatLoopCounter, CheckSecuritySyntaxOnly.cpp, "Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)", -1, false)
82 900 : CHECKER("alpha.security.taint.TaintPropagation", GenericTaintChecker, GenericTaintChecker.cpp, "Generate taint information used by other checkers", -1, true)
83 900 : CHECKER("alpha.core.IdenticalExpr", IdenticalExprChecker, IdenticalExprChecker.cpp, "Warn about unintended use of identical expressions in operators", -1, true)
84 900 : CHECKER("alpha.osx.cocoa.InstanceVariableInvalidation", InstanceVariableInvalidation, IvarInvalidationChecker.cpp, "Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator", -1, true)
85 900 : CHECKER("llvm.Conventions", LLVMConventionsChecker, LLVMConventionsChecker.cpp, "Check code for LLVM codebase conventions", -1, false)
86 900 : CHECKER("debug.DumpLiveVars", LiveVariablesDumper, DebugCheckers.cpp, "Print results of live variable analysis", -1, false)
87 900 : CHECKER("osx.SecKeychainAPI", MacOSKeychainAPIChecker, MacOSKeychainAPIChecker.cpp, "Check for proper uses of Secure Keychain APIs", -1, false)
88 900 : CHECKER("osx.API", MacOSXAPIChecker, MacOSXAPIChecker.cpp, "Check for proper uses of various Apple APIs", -1, false)
89 900 : CHECKER("unix.Malloc", MallocChecker, MallocChecker.cpp, "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free().", -1, false)
90 900 : CHECKER("alpha.security.MallocOverflow", MallocOverflowSecurityChecker, MallocOverflowSecurityChecker.cpp, "Check for overflows in the arguments to malloc()", -1, true)
91 900 : CHECKER("unix.MallocSizeof", MallocSizeofChecker, MallocSizeofChecker.cpp, "Check for dubious malloc arguments involving sizeof", -1, false)
92 900 : CHECKER("unix.MismatchedDeallocator", MismatchedDeallocatorChecker, MallocChecker.cpp, "Check for mismatched deallocators.", -1, false)
93 900 : CHECKER("alpha.osx.cocoa.MissingInvalidationMethod", MissingInvalidationMethod, IvarInvalidationChecker.cpp, "Check that the invalidation methods are present in classes that contain invalidatable instance variables", -1, true)
94 900 : CHECKER("osx.cocoa.NSAutoreleasePool", NSAutoreleasePoolChecker, NSAutoreleasePoolChecker.cpp, "Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode", -1, false)
95 900 : CHECKER("osx.cocoa.NSError", NSErrorChecker, NSErrorChecker.cpp, "Check usage of NSError** parameters", -1, false)
96 900 : CHECKER("cplusplus.NewDelete", NewDeleteChecker, MallocChecker.cpp, "Check for double-free and use-after-free problems. Traces memory managed by new/delete.", -1, false)
97 900 : CHECKER("cplusplus.NewDeleteLeaks", NewDeleteLeaksChecker, MallocChecker.cpp, "Check for memory leaks. Traces memory managed by new/delete.", -1, false)
98 900 : CHECKER("osx.cocoa.NilArg", NilArgChecker, BasicObjCFoundationChecks.cpp, "Check for prohibited nil arguments to ObjC method calls", -1, false)
99 900 : CHECKER("core.builtin.NoReturnFunctions", NoReturnFunctionChecker, NoReturnFunctionChecker.cpp, "Evaluate \"panic\" functions that are known to not return to the caller", -1, false)
100 900 : CHECKER("optin.osx.cocoa.localizability.NonLocalizedStringChecker", NonLocalizedStringChecker, LocalizationChecker.cpp, "Warns about uses of non-localized NSStrings passed to UI methods expecting localized NSStrings", -1, false)
101 900 : CHECKER("core.NonNullParamChecker", NonNullParamChecker, NonNullParamChecker.cpp, "Check for null pointers passed as arguments to a function whose arguments are references or marked with the 'nonnull' attribute", -1, false)
102 900 : CHECKER("nullability.NullPassedToNonnull", NullPassedToNonnullChecker, NullabilityChecker.cpp, "Warns when a null pointer is passed to a pointer which has a _Nonnull type.", -1, false)
103 900 : CHECKER("nullability.NullReturnedFromNonnull", NullReturnedFromNonnullChecker, NullabilityChecker.cpp, "Warns when a null pointer is returned from a function that has _Nonnull return type.", -1, false)
104 900 : CHECKER("nullability.NullableDereferenced", NullableDereferencedChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is dereferenced.", -1, false)
105 900 : CHECKER("nullability.NullablePassedToNonnull", NullablePassedToNonnullChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is passed to a pointer which has a _Nonnull type.", -1, false)
106 900 : CHECKER("nullability.NullablePassedToNonnull", NullableReturnedFromNonnullChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is returned from a function that has _Nonnull return type.", -1, false)
107 900 : CHECKER("osx.cocoa.AtSync", ObjCAtSyncChecker, ObjCAtSyncChecker.cpp, "Check for nil pointers used as mutexes for @synchronized", -1, false)
108 900 : CHECKER("osx.coreFoundation.containers.PointerSizedValues", ObjCContainersASTChecker, ObjCContainersASTChecker.cpp, "Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values", -1, false)
109 900 : CHECKER("osx.coreFoundation.containers.OutOfBounds", ObjCContainersChecker, ObjCContainersChecker.cpp, "Checks for index out-of-bounds when using 'CFArray' API", -1, false)
110 900 : CHECKER("osx.cocoa.Dealloc", ObjCDeallocChecker, CheckObjCDealloc.cpp, "Warn about Objective-C classes that lack a correct implementation of -dealloc", -1, false)
111 900 : CHECKER("osx.cocoa.ObjCGenerics", ObjCGenericsChecker, DynamicTypePropagation.cpp, "Check for type errors when using Objective-C generics", -1, false)
112 900 : CHECKER("osx.cocoa.Loops", ObjCLoopChecker, BasicObjCFoundationChecks.cpp, "Improved modeling of loops using Cocoa collection types", -1, false)
113 900 : CHECKER("osx.cocoa.IncompatibleMethodTypes", ObjCMethSigsChecker, CheckObjCInstMethSignature.cpp, "Warn about Objective-C method signatures with type incompatibilities", -1, false)
114 900 : CHECKER("osx.cocoa.NonNilReturnValue", ObjCNonNilReturnValueChecker, BasicObjCFoundationChecks.cpp, "Model the APIs that are guaranteed to return a non-nil value", -1, false)
115 900 : CHECKER("osx.cocoa.SelfInit", ObjCSelfInitChecker, ObjCSelfInitChecker.cpp, "Check that 'self' is properly initialized inside an initializer method", -1, false)
116 900 : CHECKER("osx.cocoa.MissingSuperCall", ObjCSuperCallChecker, ObjCMissingSuperCallChecker.cpp, "Warn about Objective-C methods that lack a necessary call to super", -1, false)
117 900 : CHECKER("osx.cocoa.SuperDealloc", ObjCSuperDeallocChecker, ObjCSuperDeallocChecker.cpp, "Warn about improper use of '[super dealloc]' in Objective-C", -1, false)
118 900 : CHECKER("osx.cocoa.UnusedIvars", ObjCUnusedIvarsChecker, ObjCUnusedIVarsChecker.cpp, "Warn about private ivars that are never used", -1, false)
119 900 : CHECKER("optin.performance.Padding", PaddingChecker, PaddingChecker.cpp, "Check for excessively padded structs.", -1, false)
120 900 : CHECKER("alpha.osx.cocoa.localizability.PluralMisuseChecker", PluralMisuseChecker, LocalizationChecker.cpp, "Warns against using one vs. many plural pattern in code when generating localized strings.", -1, true)
121 900 : CHECKER("alpha.core.PointerArithm", PointerArithChecker, PointerArithChecker, "Check for pointer arithmetic on locations other than array elements", -1, true)
122 900 : CHECKER("alpha.core.PointerSub", PointerSubChecker, PointerSubChecker, "Check for pointer subtractions on two pointers pointing to different memory chunks", -1, true)
123 900 : CHECKER("alpha.unix.PthreadLock", PthreadLockChecker, PthreadLockChecker.cpp, "Simple lock -> unlock checker", -1, true)
124 900 : CHECKER("osx.cocoa.RetainCount", RetainCountChecker, RetainCountChecker.cpp, "Check for leaks and improper reference count management", -1, false)
125 900 : CHECKER("alpha.security.ReturnPtrRange", ReturnPointerRangeChecker, ReturnPointerRangeChecker.cpp, "Check for an out-of-bound pointer being returned to callers", -1, true)
126 900 : CHECKER("core.uninitialized.UndefReturn", ReturnUndefChecker, ReturnUndefChecker.cpp, "Check for uninitialized values being returned to the caller", -1, false)
127 900 : CHECKER("alpha.unix.SimpleStream", SimpleStreamChecker, SimpleStreamChecker.cpp, "Check for misuses of stream APIs", -1, true)
128 900 : CHECKER("alpha.core.SizeofPtr", SizeofPointerChecker, CheckSizeofPointer.cpp, "Warn about unintended use of sizeof() on pointer expressions", -1, true)
129 900 : CHECKER("core.StackAddressEscape", StackAddrEscapeChecker, StackAddrEscapeChecker.cpp, "Check that addresses to stack memory do not escape the function", -1, false)
130 900 : CHECKER("alpha.unix.Stream", StreamChecker, StreamChecker.cpp, "Check stream handling functions", -1, true)
131 900 : CHECKER("debug.TaintTest", TaintTesterChecker, TaintTesterChecker.cpp, "Mark tainted symbols as such.", -1, false)
132 900 : CHECKER("alpha.core.TestAfterDivZero", TestAfterDivZeroChecker, TestAfterDivZeroChecker.cpp, "Check for division by variable that is later compared against 0. Either the comparison is useless or there is division by zero.", -1, true)
133 900 : CHECKER("debug.DumpTraversal", TraversalDumper, TraversalChecker.cpp, "Print branch conditions as they are traversed by the engine", -1, false)
134 900 : CHECKER("security.insecureAPI.UncheckedReturn", UncheckedReturn, CheckSecuritySyntaxOnly.cpp, "Warn on uses of functions whose return values must be always checked", -1, false)
135 900 : CHECKER("core.uninitialized.Branch", UndefBranchChecker, UndefBranchChecker.cpp, "Check for uninitialized values used as branch conditions", -1, false)
136 900 : CHECKER("core.uninitialized.CapturedBlockVariable", UndefCapturedBlockVarChecker, UndefCapturedBlockVarChecker.cpp, "Check for blocks that capture uninitialized values", -1, false)
137 900 : CHECKER("core.UndefinedBinaryOperatorResult", UndefResultChecker, UndefResultChecker.cpp, "Check for undefined results of binary operators", -1, false)
138 900 : CHECKER("core.uninitialized.ArraySubscript", UndefinedArraySubscriptChecker, UndefinedArraySubscriptChecker.cpp, "Check for uninitialized values used as array subscripts", -1, false)
139 900 : CHECKER("core.uninitialized.Assign", UndefinedAssignmentChecker, UndefinedAssignmentChecker.cpp, "Check for assigning uninitialized values", -1, false)
140 900 : CHECKER("unix.API", UnixAPIChecker, UnixAPIChecker.cpp, "Check calls to various UNIX/Posix functions", -1, false)
141 900 : CHECKER("alpha.deadcode.UnreachableCode", UnreachableCodeChecker, UnreachableCodeChecker.cpp, "Check unreachable code", -1, true)
142 900 : CHECKER("core.VLASize", VLASizeChecker, VLASizeChecker.cpp, "Check for declarations of VLA of undefined or zero size", -1, false)
143 900 : CHECKER("osx.cocoa.VariadicMethodTypes", VariadicMethodTypeChecker, BasicObjCFoundationChecks.cpp, "Check for passing non-Objective-C types to variadic collection initialization methods that expect only Objective-C types", -1, false)
144 900 : CHECKER("unix.Vfork", VforkChecker, VforkChecker.cpp, "Check for proper usage of vfork", -1, false)
145 900 : CHECKER("alpha.cplusplus.VirtualCall", VirtualCallChecker, VirtualCallChecker.cpp, "Check virtual function calls during construction or destruction", -1, true)
146 900 : CHECKER("security.insecureAPI.getpw", getpw, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'getpw' function", -1, false)
147 900 : CHECKER("security.insecureAPI.gets", gets, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'gets' function", -1, false)
148 900 : CHECKER("security.insecureAPI.mkstemp", mkstemp, CheckSecuritySyntaxOnly.cpp, "Warn when 'mkstemp' is passed fewer than 6 X's in the format string", -1, false)
149 900 : CHECKER("security.insecureAPI.mktemp", mktemp, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'mktemp' function", -1, false)
150 900 : CHECKER("security.insecureAPI.rand", rand, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'rand', 'random', and related functions", -1, false)
151 900 : CHECKER("security.insecureAPI.strcpy", strcpy, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'strcpy' and 'strcat' functions", -1, false)
152 900 : CHECKER("security.insecureAPI.vfork", vfork, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'vfork' function", -1, false)
153 : #endif // GET_CHECKERS
154 :
155 :
156 : #ifdef GET_MEMBER_ARRAYS
157 : static const short SubPackageArray0[] = { 1, 13, 15, 25, 32, 17, -1 };
158 : static const short SubPackageArray1[] = { 2, 4, 5, 8, 7, 9, 10, 11, 3, 12, 6, -1 };
159 : static const short CheckerArray2[] = { 3, -1 };
160 : static const short CheckerArray3[] = { 17, -1 };
161 : static const short CheckerArray4[] = { 21, -1 };
162 : static const short CheckerArray5[] = { 22, -1 };
163 : static const short CheckerArray6[] = { 32, -1 };
164 : static const short CheckerArray7[] = { 37, -1 };
165 : static const short CheckerArray8[] = { 40, -1 };
166 : static const short CheckerArray9[] = { 78, -1 };
167 : static const short CheckerArray10[] = { 79, -1 };
168 : static const short CheckerArray11[] = { 85, -1 };
169 : static const short CheckerArray12[] = { 89, -1 };
170 : static const short SubPackageArray13[] = { 14, -1 };
171 : static const short CheckerArray14[] = { 102, -1 };
172 : static const short SubPackageArray15[] = { 16, -1 };
173 : static const short CheckerArray16[] = { 98, -1 };
174 : static const short SubPackageArray17[] = { 18, -1 };
175 : static const short SubPackageArray18[] = { 23, 21, 22, 19, 20, -1 };
176 : static const short CheckerArray19[] = { 28, -1 };
177 : static const short CheckerArray20[] = { 29, -1 };
178 : static const short CheckerArray21[] = { 41, -1 };
179 : static const short CheckerArray22[] = { 50, -1 };
180 : static const short SubPackageArray23[] = { 24, -1 };
181 : static const short CheckerArray24[] = { 77, -1 };
182 : static const short SubPackageArray25[] = { 30, 26, 27, 29, 28, -1 };
183 : static const short CheckerArray26[] = { 1, -1 };
184 : static const short CheckerArray27[] = { 2, -1 };
185 : static const short CheckerArray28[] = { 47, -1 };
186 : static const short CheckerArray29[] = { 82, -1 };
187 : static const short SubPackageArray30[] = { 31, -1 };
188 : static const short CheckerArray31[] = { 39, -1 };
189 : static const short SubPackageArray32[] = { 37, 33, 34, 36, 35, -1 };
190 : static const short CheckerArray33[] = { 23, -1 };
191 : static const short CheckerArray34[] = { 80, -1 };
192 : static const short CheckerArray35[] = { 84, -1 };
193 : static const short CheckerArray36[] = { 87, -1 };
194 : static const short SubPackageArray37[] = { 40, 38, 39, -1 };
195 : static const short CheckerArray38[] = { 11, -1 };
196 : static const short CheckerArray39[] = { 12, -1 };
197 : static const short CheckerArray40[] = { 14, -1 };
198 : static const short SubPackageArray41[] = { 50, 53, 46, 42, 45, 49, 43, 48, 47, 44, -1 };
199 : static const short CheckerArray42[] = { 16, -1 };
200 : static const short CheckerArray43[] = { 30, -1 };
201 : static const short CheckerArray44[] = { 33, -1 };
202 : static const short CheckerArray45[] = { 58, -1 };
203 : static const short CheckerArray46[] = { 27, -1 };
204 : static const short CheckerArray47[] = { 86, -1 };
205 : static const short CheckerArray48[] = { 94, -1 };
206 : static const short CheckerArray49[] = { 99, -1 };
207 : static const short SubPackageArray50[] = { 52, 51, -1 };
208 : static const short CheckerArray51[] = { 5, -1 };
209 : static const short CheckerArray52[] = { 56, -1 };
210 : static const short SubPackageArray53[] = { 54, 55, 56, 57, 58, -1 };
211 : static const short CheckerArray54[] = { 95, -1 };
212 : static const short CheckerArray55[] = { 96, -1 };
213 : static const short CheckerArray56[] = { 92, -1 };
214 : static const short CheckerArray57[] = { 93, -1 };
215 : static const short CheckerArray58[] = { 83, -1 };
216 : static const short SubPackageArray59[] = { 60, 61, -1 };
217 : static const short CheckerArray60[] = { 53, -1 };
218 : static const short CheckerArray61[] = { 54, -1 };
219 : static const short SubPackageArray62[] = { 63, -1 };
220 : static const short CheckerArray63[] = { 26, -1 };
221 : static const short SubPackageArray64[] = { 70, 71, 76, 67, 77, 68, 65, 72, 69, 74, 75, 73, 78, 66, -1 };
222 : static const short CheckerArray65[] = { 25, -1 };
223 : static const short CheckerArray66[] = { 4, -1 };
224 : static const short CheckerArray67[] = { 7, -1 };
225 : static const short CheckerArray68[] = { 19, -1 };
226 : static const short CheckerArray69[] = { 18, -1 };
227 : static const short CheckerArray70[] = { 31, -1 };
228 : static const short CheckerArray71[] = { 43, -1 };
229 : static const short CheckerArray72[] = { 90, -1 };
230 : static const short CheckerArray73[] = { 36, -1 };
231 : static const short CheckerArray74[] = { 0, -1 };
232 : static const short CheckerArray75[] = { 88, -1 };
233 : static const short CheckerArray76[] = { 8, -1 };
234 : static const short CheckerArray77[] = { 20, -1 };
235 : static const short CheckerArray78[] = { 35, -1 };
236 : static const short SubPackageArray79[] = { 80, -1 };
237 : static const short CheckerArray80[] = { 42, -1 };
238 : static const short SubPackageArray81[] = { 82, 83, 84, 85, 85, -1 };
239 : static const short CheckerArray82[] = { 59, -1 };
240 : static const short CheckerArray83[] = { 60, -1 };
241 : static const short CheckerArray84[] = { 61, -1 };
242 : static const short CheckerArray85[] = { 62, 63, -1 };
243 : static const short SubPackageArray86[] = { 92, 87, -1 };
244 : static const short SubPackageArray87[] = { 88, -1 };
245 : static const short SubPackageArray88[] = { 89, -1 };
246 : static const short SubPackageArray89[] = { 91, 90, -1 };
247 : static const short CheckerArray90[] = { 34, -1 };
248 : static const short CheckerArray91[] = { 57, -1 };
249 : static const short SubPackageArray92[] = { 93, -1 };
250 : static const short CheckerArray93[] = { 76, -1 };
251 : static const short SubPackageArray94[] = { 97, 114, 95, 96, -1 };
252 : static const short CheckerArray95[] = { 45, -1 };
253 : static const short CheckerArray96[] = { 44, -1 };
254 : static const short SubPackageArray97[] = { 98, 106, 99, 113, 104, 101, 112, 110, 102, 107, 103, 105, 109, 108, 100, 111, -1 };
255 : static const short CheckerArray98[] = { 64, -1 };
256 : static const short CheckerArray99[] = { 24, -1 };
257 : static const short CheckerArray100[] = { 67, -1 };
258 : static const short CheckerArray101[] = { 70, -1 };
259 : static const short CheckerArray102[] = { 69, -1 };
260 : static const short CheckerArray103[] = { 73, -1 };
261 : static const short CheckerArray104[] = { 51, -1 };
262 : static const short CheckerArray105[] = { 52, -1 };
263 : static const short CheckerArray106[] = { 55, -1 };
264 : static const short CheckerArray107[] = { 71, -1 };
265 : static const short CheckerArray108[] = { 68, -1 };
266 : static const short CheckerArray109[] = { 81, -1 };
267 : static const short CheckerArray110[] = { 72, -1 };
268 : static const short CheckerArray111[] = { 74, -1 };
269 : static const short CheckerArray112[] = { 75, -1 };
270 : static const short CheckerArray113[] = { 100, -1 };
271 : static const short SubPackageArray114[] = { 118, 116, 117, 115, -1 };
272 : static const short CheckerArray115[] = { 6, -1 };
273 : static const short CheckerArray116[] = { 9, -1 };
274 : static const short CheckerArray117[] = { 10, -1 };
275 : static const short SubPackageArray118[] = { 120, 119, -1 };
276 : static const short CheckerArray119[] = { 66, -1 };
277 : static const short CheckerArray120[] = { 65, -1 };
278 : static const short SubPackageArray121[] = { 123, 122, -1 };
279 : static const short CheckerArray122[] = { 38, -1 };
280 : static const short SubPackageArray123[] = { 126, 125, 128, 127, 129, 130, 131, 124, -1 };
281 : static const short CheckerArray124[] = { 91, -1 };
282 : static const short CheckerArray125[] = { 103, -1 };
283 : static const short CheckerArray126[] = { 104, -1 };
284 : static const short CheckerArray127[] = { 105, -1 };
285 : static const short CheckerArray128[] = { 106, -1 };
286 : static const short CheckerArray129[] = { 107, -1 };
287 : static const short CheckerArray130[] = { 108, -1 };
288 : static const short CheckerArray131[] = { 109, -1 };
289 : static const short SubPackageArray132[] = { 138, 133, 134, 135, 136, 137, -1 };
290 : static const short CheckerArray133[] = { 97, -1 };
291 : static const short CheckerArray134[] = { 46, -1 };
292 : static const short CheckerArray135[] = { 48, -1 };
293 : static const short CheckerArray136[] = { 49, -1 };
294 : static const short CheckerArray137[] = { 101, -1 };
295 : static const short SubPackageArray138[] = { 140, 139, -1 };
296 : static const short CheckerArray139[] = { 15, -1 };
297 : static const short CheckerArray140[] = { 13, -1 };
298 : #endif // GET_MEMBER_ARRAYS
299 :
300 :
301 : #ifdef GET_CHECKNAME_TABLE
302 : { "alpha", 0, SubPackageArray0, false },
303 : { "alpha.core", 0, SubPackageArray1, true },
304 : { "alpha.core.BoolAssignment", CheckerArray2, 0, false },
305 : { "alpha.core.CallAndMessageUnInitRefArg", CheckerArray3, 0, false },
306 : { "alpha.core.CastSize", CheckerArray4, 0, false },
307 : { "alpha.core.CastToStruct", CheckerArray5, 0, false },
308 : { "alpha.core.DynamicTypeChecker", CheckerArray6, 0, false },
309 : { "alpha.core.FixedAddr", CheckerArray7, 0, false },
310 : { "alpha.core.IdenticalExpr", CheckerArray8, 0, false },
311 : { "alpha.core.PointerArithm", CheckerArray9, 0, false },
312 : { "alpha.core.PointerSub", CheckerArray10, 0, false },
313 : { "alpha.core.SizeofPtr", CheckerArray11, 0, false },
314 : { "alpha.core.TestAfterDivZero", CheckerArray12, 0, false },
315 : { "alpha.cplusplus", 0, SubPackageArray13, true },
316 : { "alpha.cplusplus.VirtualCall", CheckerArray14, 0, false },
317 : { "alpha.deadcode", 0, SubPackageArray15, true },
318 : { "alpha.deadcode.UnreachableCode", CheckerArray16, 0, false },
319 : { "alpha.osx", 0, SubPackageArray17, true },
320 : { "alpha.osx.cocoa", 0, SubPackageArray18, true },
321 : { "alpha.osx.cocoa.DirectIvarAssignment", CheckerArray19, 0, false },
322 : { "alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", CheckerArray20, 0, false },
323 : { "alpha.osx.cocoa.InstanceVariableInvalidation", CheckerArray21, 0, false },
324 : { "alpha.osx.cocoa.MissingInvalidationMethod", CheckerArray22, 0, false },
325 : { "alpha.osx.cocoa.localizability", 0, SubPackageArray23, true },
326 : { "alpha.osx.cocoa.localizability.PluralMisuseChecker", CheckerArray24, 0, false },
327 : { "alpha.security", 0, SubPackageArray25, true },
328 : { "alpha.security.ArrayBound", CheckerArray26, 0, false },
329 : { "alpha.security.ArrayBoundV2", CheckerArray27, 0, false },
330 : { "alpha.security.MallocOverflow", CheckerArray28, 0, false },
331 : { "alpha.security.ReturnPtrRange", CheckerArray29, 0, false },
332 : { "alpha.security.taint", 0, SubPackageArray30, true },
333 : { "alpha.security.taint.TaintPropagation", CheckerArray31, 0, false },
334 : { "alpha.unix", 0, SubPackageArray32, true },
335 : { "alpha.unix.Chroot", CheckerArray33, 0, false },
336 : { "alpha.unix.PthreadLock", CheckerArray34, 0, false },
337 : { "alpha.unix.SimpleStream", CheckerArray35, 0, false },
338 : { "alpha.unix.Stream", CheckerArray36, 0, false },
339 : { "alpha.unix.cstring", 0, SubPackageArray37, true },
340 : { "alpha.unix.cstring.BufferOverlap", CheckerArray38, 0, false },
341 : { "alpha.unix.cstring.NotNullTerminated", CheckerArray39, 0, false },
342 : { "alpha.unix.cstring.OutOfBounds", CheckerArray40, 0, false },
343 : { "core", 0, SubPackageArray41, false },
344 : { "core.CallAndMessage", CheckerArray42, 0, false },
345 : { "core.DivideZero", CheckerArray43, 0, false },
346 : { "core.DynamicTypePropagation", CheckerArray44, 0, false },
347 : { "core.NonNullParamChecker", CheckerArray45, 0, false },
348 : { "core.NullDereference", CheckerArray46, 0, false },
349 : { "core.StackAddressEscape", CheckerArray47, 0, false },
350 : { "core.UndefinedBinaryOperatorResult", CheckerArray48, 0, false },
351 : { "core.VLASize", CheckerArray49, 0, false },
352 : { "core.builtin", 0, SubPackageArray50, false },
353 : { "core.builtin.BuiltinFunctions", CheckerArray51, 0, false },
354 : { "core.builtin.NoReturnFunctions", CheckerArray52, 0, false },
355 : { "core.uninitialized", 0, SubPackageArray53, false },
356 : { "core.uninitialized.ArraySubscript", CheckerArray54, 0, false },
357 : { "core.uninitialized.Assign", CheckerArray55, 0, false },
358 : { "core.uninitialized.Branch", CheckerArray56, 0, false },
359 : { "core.uninitialized.CapturedBlockVariable", CheckerArray57, 0, false },
360 : { "core.uninitialized.UndefReturn", CheckerArray58, 0, false },
361 : { "cplusplus", 0, SubPackageArray59, false },
362 : { "cplusplus.NewDelete", CheckerArray60, 0, false },
363 : { "cplusplus.NewDeleteLeaks", CheckerArray61, 0, false },
364 : { "deadcode", 0, SubPackageArray62, false },
365 : { "deadcode.DeadStores", CheckerArray63, 0, false },
366 : { "debug", 0, SubPackageArray64, false },
367 : { "debug.ConfigDumper", CheckerArray65, 0, false },
368 : { "debug.DumpBugHash", CheckerArray66, 0, false },
369 : { "debug.DumpCFG", CheckerArray67, 0, false },
370 : { "debug.DumpCallGraph", CheckerArray68, 0, false },
371 : { "debug.DumpCalls", CheckerArray69, 0, false },
372 : { "debug.DumpDominators", CheckerArray70, 0, false },
373 : { "debug.DumpLiveVars", CheckerArray71, 0, false },
374 : { "debug.DumpTraversal", CheckerArray72, 0, false },
375 : { "debug.ExprInspection", CheckerArray73, 0, false },
376 : { "debug.Stats", CheckerArray74, 0, false },
377 : { "debug.TaintTest", CheckerArray75, 0, false },
378 : { "debug.ViewCFG", CheckerArray76, 0, false },
379 : { "debug.ViewCallGraph", CheckerArray77, 0, false },
380 : { "debug.ViewExplodedGraph", CheckerArray78, 0, false },
381 : { "llvm", 0, SubPackageArray79, false },
382 : { "llvm.Conventions", CheckerArray80, 0, false },
383 : { "nullability", 0, SubPackageArray81, false },
384 : { "nullability.NullPassedToNonnull", CheckerArray82, 0, false },
385 : { "nullability.NullReturnedFromNonnull", CheckerArray83, 0, false },
386 : { "nullability.NullableDereferenced", CheckerArray84, 0, false },
387 : { "nullability.NullablePassedToNonnull", CheckerArray85, 0, false },
388 : { "optin", 0, SubPackageArray86, false },
389 : { "optin.osx", 0, SubPackageArray87, false },
390 : { "optin.osx.cocoa", 0, SubPackageArray88, false },
391 : { "optin.osx.cocoa.localizability", 0, SubPackageArray89, false },
392 : { "optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", CheckerArray90, 0, false },
393 : { "optin.osx.cocoa.localizability.NonLocalizedStringChecker", CheckerArray91, 0, false },
394 : { "optin.performance", 0, SubPackageArray92, false },
395 : { "optin.performance.Padding", CheckerArray93, 0, false },
396 : { "osx", 0, SubPackageArray94, false },
397 : { "osx.API", CheckerArray95, 0, false },
398 : { "osx.SecKeychainAPI", CheckerArray96, 0, false },
399 : { "osx.cocoa", 0, SubPackageArray97, false },
400 : { "osx.cocoa.AtSync", CheckerArray98, 0, false },
401 : { "osx.cocoa.ClassRelease", CheckerArray99, 0, false },
402 : { "osx.cocoa.Dealloc", CheckerArray100, 0, false },
403 : { "osx.cocoa.IncompatibleMethodTypes", CheckerArray101, 0, false },
404 : { "osx.cocoa.Loops", CheckerArray102, 0, false },
405 : { "osx.cocoa.MissingSuperCall", CheckerArray103, 0, false },
406 : { "osx.cocoa.NSAutoreleasePool", CheckerArray104, 0, false },
407 : { "osx.cocoa.NSError", CheckerArray105, 0, false },
408 : { "osx.cocoa.NilArg", CheckerArray106, 0, false },
409 : { "osx.cocoa.NonNilReturnValue", CheckerArray107, 0, false },
410 : { "osx.cocoa.ObjCGenerics", CheckerArray108, 0, false },
411 : { "osx.cocoa.RetainCount", CheckerArray109, 0, false },
412 : { "osx.cocoa.SelfInit", CheckerArray110, 0, false },
413 : { "osx.cocoa.SuperDealloc", CheckerArray111, 0, false },
414 : { "osx.cocoa.UnusedIvars", CheckerArray112, 0, false },
415 : { "osx.cocoa.VariadicMethodTypes", CheckerArray113, 0, false },
416 : { "osx.coreFoundation", 0, SubPackageArray114, false },
417 : { "osx.coreFoundation.CFError", CheckerArray115, 0, false },
418 : { "osx.coreFoundation.CFNumber", CheckerArray116, 0, false },
419 : { "osx.coreFoundation.CFRetainRelease", CheckerArray117, 0, false },
420 : { "osx.coreFoundation.containers", 0, SubPackageArray118, false },
421 : { "osx.coreFoundation.containers.OutOfBounds", CheckerArray119, 0, false },
422 : { "osx.coreFoundation.containers.PointerSizedValues", CheckerArray120, 0, false },
423 : { "security", 0, SubPackageArray121, false },
424 : { "security.FloatLoopCounter", CheckerArray122, 0, false },
425 : { "security.insecureAPI", 0, SubPackageArray123, false },
426 : { "security.insecureAPI.UncheckedReturn", CheckerArray124, 0, false },
427 : { "security.insecureAPI.getpw", CheckerArray125, 0, false },
428 : { "security.insecureAPI.gets", CheckerArray126, 0, false },
429 : { "security.insecureAPI.mkstemp", CheckerArray127, 0, false },
430 : { "security.insecureAPI.mktemp", CheckerArray128, 0, false },
431 : { "security.insecureAPI.rand", CheckerArray129, 0, false },
432 : { "security.insecureAPI.strcpy", CheckerArray130, 0, false },
433 : { "security.insecureAPI.vfork", CheckerArray131, 0, false },
434 : { "unix", 0, SubPackageArray132, false },
435 : { "unix.API", CheckerArray133, 0, false },
436 : { "unix.Malloc", CheckerArray134, 0, false },
437 : { "unix.MallocSizeof", CheckerArray135, 0, false },
438 : { "unix.MismatchedDeallocator", CheckerArray136, 0, false },
439 : { "unix.Vfork", CheckerArray137, 0, false },
440 : { "unix.cstring", 0, SubPackageArray138, true },
441 : { "unix.cstring.BadSizeArg", CheckerArray139, 0, false },
442 : { "unix.cstring.NullArg", CheckerArray140, 0, false },
443 : #endif // GET_CHECKNAME_TABLE
444 :
|