From 52a3888c4a695ebbb5d7c39c29270ae3408b47e8 Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Sat, 4 Feb 2012 02:31:57 +0000 Subject: [PATCH] [analyzer] Turn on by default two checkers: - osx.coreFoundation.containers.IndexOutOfBounds - osx.cocoa.SelfInit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149747 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Checkers/Checkers.td | 23 ++++++++++++----------- test/Analysis/CFContainers.mm | 2 +- test/Analysis/self-init.m | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/StaticAnalyzer/Checkers/Checkers.td b/lib/StaticAnalyzer/Checkers/Checkers.td index 7bf865ffcb..d08739e2a3 100644 --- a/lib/StaticAnalyzer/Checkers/Checkers.td +++ b/lib/StaticAnalyzer/Checkers/Checkers.td @@ -40,7 +40,7 @@ def OSXExperimental : Package<"osx">, InPackage, Hidden; def Cocoa : Package<"cocoa">, InPackage; def CocoaExperimental : Package<"cocoa">, InPackage, Hidden; def CoreFoundation : Package<"coreFoundation">, InPackage; -def Containers : Package<"Containers">, InPackage; +def Containers : Package<"containers">, InPackage; def LLVM : Package<"llvm">; def Debug : Package<"debug">; @@ -364,7 +364,11 @@ def ObjCMethSigsChecker : Checker<"IncompatibleMethodTypes">, def ObjCUnusedIvarsChecker : Checker<"UnusedIvars">, HelpText<"Warn about private ivars that are never used">, DescFile<"ObjCUnusedIVarsChecker.cpp">; - + +def ObjCSelfInitChecker : Checker<"SelfInit">, + HelpText<"Check that 'self' is properly initialized inside an initializer method">, + DescFile<"ObjCSelfInitChecker.cpp">; + def NSErrorChecker : Checker<"NSError">, HelpText<"Check usage of NSError** parameters">, DescFile<"NSErrorChecker.cpp">; @@ -377,14 +381,6 @@ def RetainCountChecker : Checker<"RetainCount">, let ParentPackage = CocoaExperimental in { -def ObjCContainersChecker : Checker<"Containers">, - HelpText<"Deep checks for common pitfalls when using 'CFArray' APIs">, - DescFile<"ObjCContainersChecker.cpp">; - -def ObjCSelfInitChecker : Checker<"SelfInit">, - HelpText<"Check that 'self' is properly initialized inside an initializer method">, - DescFile<"ObjCSelfInitChecker.cpp">; - def ObjCDeallocChecker : Checker<"Dealloc">, HelpText<"Warn about Objective-C classes that lack a correct implementation of -dealloc">, DescFile<"CheckObjCDealloc.cpp">; @@ -409,7 +405,12 @@ def CFErrorChecker : Checker<"CFError">, let ParentPackage = Containers in { def ObjCContainersASTChecker : Checker<"PointerSizedValues">, HelpText<"Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values">, - DescFile<"ObjCContainersASTChecker.cpp">; + DescFile<"ObjCContainersASTChecker.cpp">; + +def ObjCContainersChecker : Checker<"OutOfBounds">, + HelpText<"Checks for index out of bounds when using 'CFArray' API">, + DescFile<"ObjCContainersChecker.cpp">; + } //===----------------------------------------------------------------------===// // Checkers for LLVM development. diff --git a/test/Analysis/CFContainers.mm b/test/Analysis/CFContainers.mm index ec6746bb72..4912054882 100644 --- a/test/Analysis/CFContainers.mm +++ b/test/Analysis/CFContainers.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=osx.coreFoundation.Containers.PointerSizedValues,experimental.osx.cocoa.Containers -analyzer-store=region -triple x86_64-apple-darwin -verify %s +// RUN: %clang_cc1 -analyze -analyzer-checker=osx.coreFoundation.containers.PointerSizedValues,osx.coreFoundation.containers.OutOfBounds -analyzer-store=region -triple x86_64-apple-darwin -verify %s typedef const struct __CFAllocator * CFAllocatorRef; typedef const struct __CFString * CFStringRef; diff --git a/test/Analysis/self-init.m b/test/Analysis/self-init.m index 78d9399e83..eaa8fd46f1 100644 --- a/test/Analysis/self-init.m +++ b/test/Analysis/self-init.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=experimental.osx.cocoa.SelfInit %s -verify +// RUN: %clang_cc1 -analyze -analyzer-checker=osx.cocoa.SelfInit %s -verify @class NSZone, NSCoder; @protocol NSObject -- 2.50.1