<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>