[cfe-dev] SimpleStreamChecker not loading
Anna Zaks
ganna at apple.com
Thu Jun 6 10:15:58 PDT 2013
I see it listed right before the alpha.unix.Stream checker. Not sure why you would not see it. Are you working with a clean version of clang or do you have your own changes in it?
Anna.
On Jun 5, 2013, at 11:31 AM, Todd Nowacki <nowacki724 at gmail.com> wrote:
> It is not showing up for me.
>
> clang -cc1 -analyzer-checker-help [11:28:17]
> OVERVIEW: Clang Static Analyzer Checkers List
>
> USAGE: -analyzer-checker <CHECKER or PACKAGE,...>
>
> CHECKERS:
> alpha.core.BoolAssignment Warn about assigning non-{0,1} values to Boolean variables
> alpha.core.CastSize Check when casting a malloc'ed type T, whether the size is a multiple of the size of T
> alpha.core.CastToStruct Check for cast from non-struct pointer to struct pointer
> alpha.core.FixedAddr Check for assignment of a fixed address to a pointer
> alpha.core.PointerArithm Check for pointer arithmetic on locations other than array elements
> alpha.core.PointerSub Check for pointer subtractions on two pointers pointing to different memory chunks
> alpha.core.SizeofPtr Warn about unintended use of sizeof() on pointer expressions
> alpha.cplusplus.VirtualCall Check virtual function calls during construction or destruction
> alpha.deadcode.IdempotentOperations
> Warn about idempotent operations
> alpha.deadcode.UnreachableCode Check unreachable code
> alpha.osx.cocoa.Dealloc Warn about Objective-C classes that lack a correct implementation of -dealloc
> alpha.osx.cocoa.DirectIvarAssignment
> Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator
> alpha.osx.cocoa.InstanceVariableInvalidation
> Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator
> alpha.security.ArrayBound Warn about buffer overflows (older checker)
> alpha.security.ArrayBoundV2 Warn about buffer overflows (newer checker)
> alpha.security.MallocOverflow Check for overflows in the arguments to malloc()
> alpha.security.ReturnPtrRange Check for an out-of-bound pointer being returned to callers
> alpha.security.taint.TaintPropagation
> Generate taint information used by other checkers
> alpha.unix.Chroot Check improper use of chroot
> alpha.unix.MallocWithAnnotations
> Check for memory leaks, double free, and use-after-free problems. Assumes that all user-defined functions which might free a pointer are annotated.
> alpha.unix.PthreadLock Simple lock -> unlock checker
> alpha.unix.Stream Check stream handling functions
> alpha.unix.cstring.BufferOverlap
> Checks for overlap in two buffer arguments
> alpha.unix.cstring.NotNullTerminated
> Check for arguments which are not null-terminating strings
> alpha.unix.cstring.OutOfBounds Check for out-of-bounds access in string functions
> core.AttributeNonNull Check for null pointers passed as arguments to a function whose arguments are marked with the 'nonnull' attribute
> core.CallAndMessage Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)
> core.DivideZero Check for division by zero
> core.DynamicTypePropagation Generate dynamic type information
> core.NullDereference Check for dereferences of null pointers
> core.StackAddressEscape Check that addresses to stack memory do not escape the function
> core.UndefinedBinaryOperatorResult
> Check for undefined results of binary operators
> core.VLASize Check for declarations of VLA of undefined or zero size
> core.builtin.BuiltinFunctions Evaluate compiler builtin functions (e.g., alloca())
> core.builtin.NoReturnFunctions Evaluate "panic" functions that are known to not return to the caller
> core.uninitialized.ArraySubscript
> Check for uninitialized values used as array subscripts
> core.uninitialized.Assign Check for assigning uninitialized values
> core.uninitialized.Branch Check for uninitialized values used as branch conditions
> core.uninitialized.CapturedBlockVariable
> Check for blocks that capture uninitialized values
> core.uninitialized.UndefReturn Check for uninitialized values being returned to the caller
> deadcode.DeadStores Check for values stored to variables that are never read afterwards
> debug.ConfigDumper Dump config table
> debug.DumpCFG Display Control-Flow Graphs
> debug.DumpCallGraph Display Call Graph
> debug.DumpCalls Print calls as they are traversed by the engine
> debug.DumpDominators Print the dominance tree for a given CFG
> debug.DumpLiveVars Print results of live variable analysis
> debug.DumpTraversal Print branch conditions as they are traversed by the engine
> debug.ExprInspection Check the analyzer's understanding of expressions
> debug.Stats Emit warnings with analyzer statistics
> debug.TaintTest Mark tainted symbols as such.
> debug.ViewCFG View Control-Flow Graphs using GraphViz
> debug.ViewCallGraph View Call Graph using GraphViz
> llvm.Conventions Check code for LLVM codebase conventions
> osx.API Check for proper uses of various Mac OS X APIs
> osx.SecKeychainAPI Check for proper uses of Secure Keychain APIs
> osx.cocoa.AtSync Check for nil pointers used as mutexes for @synchronized
> osx.cocoa.ClassRelease Check for sending 'retain', 'release', or 'autorelease' directly to a Class
> osx.cocoa.IncompatibleMethodTypes
> Warn about Objective-C method signatures with type incompatibilities
> osx.cocoa.Loops Improved modeling of loops using Cocoa collection types
> osx.cocoa.NSAutoreleasePool Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode
> osx.cocoa.NSError Check usage of NSError** parameters
> osx.cocoa.NilArg Check for prohibited nil arguments to ObjC method calls
> osx.cocoa.NonNilReturnValue Model the APIs that are guaranteed to return a non-nil value
> osx.cocoa.RetainCount Check for leaks and improper reference count management
> osx.cocoa.SelfInit Check that 'self' is properly initialized inside an initializer method
> osx.cocoa.UnusedIvars Warn about private ivars that are never used
> osx.cocoa.VariadicMethodTypes Check for passing non-Objective-C types to variadic collection initialization methods that expect only Objective-C types
> osx.coreFoundation.CFError Check usage of CFErrorRef* parameters
> osx.coreFoundation.CFNumber Check for proper uses of CFNumberCreate
> osx.coreFoundation.CFRetainRelease
> Check for null arguments to CFRetain/CFRelease
> osx.coreFoundation.containers.OutOfBounds
> Checks for index out-of-bounds when using 'CFArray' API
> osx.coreFoundation.containers.PointerSizedValues
> Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values
> security.FloatLoopCounter Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)
> security.insecureAPI.UncheckedReturn
> Warn on uses of functions whose return values must be always checked
> security.insecureAPI.getpw Warn on uses of the 'getpw' function
> security.insecureAPI.gets Warn on uses of the 'gets' function
> security.insecureAPI.mkstemp Warn when 'mkstemp' is passed fewer than 6 X's in the format string
> security.insecureAPI.mktemp Warn on uses of the 'mktemp' function
> security.insecureAPI.rand Warn on uses of the 'rand', 'random', and related functions
> security.insecureAPI.strcpy Warn on uses of the 'strcpy' and 'strcat' functions
> security.insecureAPI.vfork Warn on uses of the 'vfork' function
> unix.API Check calls to various UNIX/Posix functions
> unix.Malloc Check for memory leaks, double free, and use-after-free problems.
> unix.MallocSizeof Check for dubious malloc arguments involving sizeof
> unix.cstring.BadSizeArg Check the size argument passed into C string functions for common erroneous patterns
> unix.cstring.NullArg Check for null pointers being passed as arguments to C string functions
>
>
>
> I just pulled and rebuilt to be sure, still nothing.
>
> Sincerely,
> Todd Nowacki
>
>
> On Wed, Jun 5, 2013 at 10:15 AM, Anna Zaks <ganna at apple.com> wrote:
> I do see it in the list (the visible name is slightly different):
> alpha.unix.SimpleStream Check for misuses of stream APIs
>
> Cheers,
> Anna.
> On Jun 4, 2013, at 4:28 PM, Todd Nowacki <nowacki724 at gmail.com> wrote:
>
>> I'm getting started with trying to develop a checker, and I'm trying to get aquianted with the system.
>>
>> I am not seeing the the SimpleStreamChecker when I run clang -cc1 -analyzer-checker-help. I looked and it appears as if all the steps for 'checker registration' have been completed for this checker, yet it is not showing up. While I don't need to use this checker, I was wondering what was going on here and what needs to be done to fix it.
>>
>> Sincerely,
>> Todd Nowacki
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130606/d7eb144e/attachment.html>
More information about the cfe-dev
mailing list