[cfe-dev] SimpleStreamChecker not loading
Todd Nowacki
nowacki724 at gmail.com
Wed Jun 5 11:31:23 PDT 2013
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/20130605/fe3f4a6f/attachment.html>
More information about the cfe-dev
mailing list