@@ -43,6 +43,9 @@ def Nullability : Package<"nullability">;
43
43
def Cplusplus : Package<"cplusplus">;
44
44
def CplusplusAlpha : Package<"cplusplus">, InPackage<Alpha>, Hidden;
45
45
46
+ def Valist : Package<"valist">;
47
+ def ValistAlpha : Package<"valist">, InPackage<Alpha>, Hidden;
48
+
46
49
def DeadCode : Package<"deadcode">;
47
50
def DeadCodeAlpha : Package<"deadcode">, InPackage<Alpha>, Hidden;
48
51
@@ -267,6 +270,27 @@ def VirtualCallChecker : Checker<"VirtualCall">,
267
270
268
271
} // end: "alpha.cplusplus"
269
272
273
+
274
+ //===----------------------------------------------------------------------===//
275
+ // Valist checkers.
276
+ //===----------------------------------------------------------------------===//
277
+
278
+ let ParentPackage = ValistAlpha in {
279
+
280
+ def UninitializedChecker : Checker<"Uninitialized">,
281
+ HelpText<"Check for usages of uninitialized (or already released) va_lists.">,
282
+ DescFile<"ValistChecker.cpp">;
283
+
284
+ def UnterminatedChecker : Checker<"Unterminated">,
285
+ HelpText<"Check for va_lists which are not released by a va_end call.">,
286
+ DescFile<"ValistChecker.cpp">;
287
+
288
+ def CopyToSelfChecker : Checker<"CopyToSelf">,
289
+ HelpText<"Check for va_lists which are copied onto itself.">,
290
+ DescFile<"ValistChecker.cpp">;
291
+
292
+ } // end : "alpha.valist"
293
+
270
294
//===----------------------------------------------------------------------===//
271
295
// Deadcode checkers.
272
296
//===----------------------------------------------------------------------===//
0 commit comments