<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">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?<div><br></div><div>Anna.<br><div><br><div><div>On Jun 5, 2013, at 11:31 AM, Todd Nowacki <<a href="mailto:nowacki724@gmail.com">nowacki724@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr">It is not showing up for me.<div><br></div><div><div>clang -cc1 -analyzer-checker-help                                                                                                      [11:28:17]</div><div>OVERVIEW: Clang Static Analyzer Checkers List</div><div><br></div><div>USAGE: -analyzer-checker <CHECKER or PACKAGE,...></div><div><br></div><div>CHECKERS:</div><div>  alpha.core.BoolAssignment       Warn about assigning non-{0,1} values to Boolean variables</div><div>  alpha.core.CastSize             Check when casting a malloc'ed type T, whether the size is a multiple of the size of T</div><div>  alpha.core.CastToStruct         Check for cast from non-struct pointer to struct pointer</div><div>  alpha.core.FixedAddr            Check for assignment of a fixed address to a pointer</div><div>  alpha.core.PointerArithm        Check for pointer arithmetic on locations other than array elements</div><div>  alpha.core.PointerSub           Check for pointer subtractions on two pointers pointing to different memory chunks</div><div>  alpha.core.SizeofPtr            Warn about unintended use of sizeof() on pointer expressions</div><div>  alpha.cplusplus.VirtualCall     Check virtual function calls during construction or destruction</div><div>  alpha.deadcode.IdempotentOperations</div><div>                                  Warn about idempotent operations</div><div>  alpha.deadcode.UnreachableCode  Check unreachable code</div><div>  alpha.osx.cocoa.Dealloc         Warn about Objective-C classes that lack a correct implementation of -dealloc</div><div>  alpha.osx.cocoa.DirectIvarAssignment</div><div>                                  Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator</div><div>  alpha.osx.cocoa.InstanceVariableInvalidation</div><div>                                  Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator</div><div>  alpha.security.ArrayBound       Warn about buffer overflows (older checker)</div><div>  alpha.security.ArrayBoundV2     Warn about buffer overflows (newer checker)</div><div>  alpha.security.MallocOverflow   Check for overflows in the arguments to malloc()</div><div>  alpha.security.ReturnPtrRange   Check for an out-of-bound pointer being returned to callers</div><div>  alpha.security.taint.TaintPropagation</div><div>                                  Generate taint information used by other checkers</div><div>  alpha.unix.Chroot               Check improper use of chroot</div><div>  alpha.unix.MallocWithAnnotations</div><div>                                  Check for memory leaks, double free, and use-after-free problems. Assumes that all user-defined functions which might free a pointer are annotated.</div><div>  alpha.unix.PthreadLock          Simple lock -> unlock checker</div><div>  alpha.unix.Stream               Check stream handling functions</div><div>  alpha.unix.cstring.BufferOverlap</div><div>                                  Checks for overlap in two buffer arguments</div><div>  alpha.unix.cstring.NotNullTerminated</div><div>                                  Check for arguments which are not null-terminating strings</div><div>  alpha.unix.cstring.OutOfBounds  Check for out-of-bounds access in string functions</div><div>  core.AttributeNonNull           Check for null pointers passed as arguments to a function whose arguments are marked with the 'nonnull' attribute</div><div>  core.CallAndMessage             Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)</div><div>  core.DivideZero                 Check for division by zero</div><div>  core.DynamicTypePropagation     Generate dynamic type information</div><div>  core.NullDereference            Check for dereferences of null pointers</div><div>  core.StackAddressEscape         Check that addresses to stack memory do not escape the function</div><div>  core.UndefinedBinaryOperatorResult</div><div>                                  Check for undefined results of binary operators</div><div>  core.VLASize                    Check for declarations of VLA of undefined or zero size</div><div>  core.builtin.BuiltinFunctions   Evaluate compiler builtin functions (e.g., alloca())</div><div>  core.builtin.NoReturnFunctions  Evaluate "panic" functions that are known to not return to the caller</div><div>  core.uninitialized.ArraySubscript</div><div>                                  Check for uninitialized values used as array subscripts</div><div>  core.uninitialized.Assign       Check for assigning uninitialized values</div><div>  core.uninitialized.Branch       Check for uninitialized values used as branch conditions</div><div>  core.uninitialized.CapturedBlockVariable</div><div>                                  Check for blocks that capture uninitialized values</div><div>  core.uninitialized.UndefReturn  Check for uninitialized values being returned to the caller</div><div>  deadcode.DeadStores             Check for values stored to variables that are never read afterwards</div><div>  debug.ConfigDumper              Dump config table</div><div>  debug.DumpCFG                   Display Control-Flow Graphs</div><div>  debug.DumpCallGraph             Display Call Graph</div><div>  debug.DumpCalls                 Print calls as they are traversed by the engine</div><div>  debug.DumpDominators            Print the dominance tree for a given CFG</div><div>  debug.DumpLiveVars              Print results of live variable analysis</div><div>  debug.DumpTraversal             Print branch conditions as they are traversed by the engine</div><div>  debug.ExprInspection            Check the analyzer's understanding of expressions</div><div>  debug.Stats                     Emit warnings with analyzer statistics</div><div>  debug.TaintTest                 Mark tainted symbols as such.</div><div>  debug.ViewCFG                   View Control-Flow Graphs using GraphViz</div><div>  debug.ViewCallGraph             View Call Graph using GraphViz</div><div>  llvm.Conventions                Check code for LLVM codebase conventions</div><div>  osx.API                         Check for proper uses of various Mac OS X APIs</div><div>  osx.SecKeychainAPI              Check for proper uses of Secure Keychain APIs</div><div>  osx.cocoa.AtSync                Check for nil pointers used as mutexes for @synchronized</div><div>  osx.cocoa.ClassRelease          Check for sending 'retain', 'release', or 'autorelease' directly to a Class</div><div>  osx.cocoa.IncompatibleMethodTypes</div><div>                                  Warn about Objective-C method signatures with type incompatibilities</div><div>  osx.cocoa.Loops                 Improved modeling of loops using Cocoa collection types</div><div>  osx.cocoa.NSAutoreleasePool     Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode</div><div>  osx.cocoa.NSError               Check usage of NSError** parameters</div><div>  osx.cocoa.NilArg                Check for prohibited nil arguments to ObjC method calls</div><div>  osx.cocoa.NonNilReturnValue     Model the APIs that are guaranteed to return a non-nil value</div><div>  osx.cocoa.RetainCount           Check for leaks and improper reference count management</div><div>  osx.cocoa.SelfInit              Check that 'self' is properly initialized inside an initializer method</div><div>  osx.cocoa.UnusedIvars           Warn about private ivars that are never used</div><div>  osx.cocoa.VariadicMethodTypes   Check for passing non-Objective-C types to variadic collection initialization methods that expect only Objective-C types</div><div>  osx.coreFoundation.CFError      Check usage of CFErrorRef* parameters</div><div>  osx.coreFoundation.CFNumber     Check for proper uses of CFNumberCreate</div><div>  osx.coreFoundation.CFRetainRelease</div><div>                                  Check for null arguments to CFRetain/CFRelease</div><div>  osx.coreFoundation.containers.OutOfBounds</div><div>                                  Checks for index out-of-bounds when using 'CFArray' API</div><div>  osx.coreFoundation.containers.PointerSizedValues</div><div>                                  Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values</div><div>  security.FloatLoopCounter       Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)</div><div>  security.insecureAPI.UncheckedReturn</div><div>                                  Warn on uses of functions whose return values must be always checked</div><div>  security.insecureAPI.getpw      Warn on uses of the 'getpw' function</div><div>  security.insecureAPI.gets       Warn on uses of the 'gets' function</div><div>  security.insecureAPI.mkstemp    Warn when 'mkstemp' is passed fewer than 6 X's in the format string</div><div>  security.insecureAPI.mktemp     Warn on uses of the 'mktemp' function</div><div>  security.insecureAPI.rand       Warn on uses of the 'rand', 'random', and related functions</div><div>  security.insecureAPI.strcpy     Warn on uses of the 'strcpy' and 'strcat' functions</div><div>  security.insecureAPI.vfork      Warn on uses of the 'vfork' function</div><div>  unix.API                        Check calls to various UNIX/Posix functions</div><div>  unix.Malloc                     Check for memory leaks, double free, and use-after-free problems.</div><div>  unix.MallocSizeof               Check for dubious malloc arguments involving sizeof</div><div>  unix.cstring.BadSizeArg         Check the size argument passed into C string functions for common erroneous patterns</div><div>  unix.cstring.NullArg            Check for null pointers being passed as arguments to C string functions</div></div><div><br></div><div><br></div><div><br></div><div>I just pulled and rebuilt to be sure, still nothing.</div><div><br></div><div>Sincerely,</div><div>Todd Nowacki</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 5, 2013 at 10:15 AM, Anna Zaks<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:ganna@apple.com" target="_blank">ganna@apple.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;">I do see it in the list (the visible name is slightly different):<div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">  alpha.unix.SimpleStream         Check for misuses of stream APIs</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><br></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><span style="font-family: Helvetica; font-size: 12px;">Cheers,</span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><span style="font-family: Helvetica; font-size: 12px;">Anna.</span><div style="font-family: Helvetica; font-size: 12px;"></div></div><div><div><div class="h5"><div>On Jun 4, 2013, at 4:28 PM, Todd Nowacki <<a href="mailto:nowacki724@gmail.com" target="_blank">nowacki724@gmail.com</a>> wrote:</div><br></div></div><blockquote type="cite"><div style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div><div class="h5"><div dir="ltr">I'm getting started with trying to develop a checker, and I'm trying to get aquianted with the system.<div><br></div><div>I am not seeing the the SimpleStreamChecker when I run <b style="font-family: monospace; line-height: 18px;">clang -cc1 -analyzer-checker-help</b><span style="font-family: monospace; line-height: 18px;">. </span> 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.</div><div><br></div><div>Sincerely,</div><div>Todd Nowacki</div></div></div></div>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div><br></div></div></body></html>