Print this page
11972 resync smatch

*** 17,26 **** --- 17,31 ---- corresponding warning option -Wsomething. Sparse issues some warnings by default; to turn off those warnings, pass the negation of the associated warning option, -Wno-something. WARNING OPTIONS + -fmax-warnings=COUNT + Set the maximum number of displayed warnings to COUNT, which + should be a numerical value or 'unlimited'. The default limit + is 100. + -Wsparse-all Turn on all sparse warnings, except for those explicitly disabled via -Wno-something. -Wsparse-error
*** 29,46 **** -Waddress-space Warn about code which mixes pointers to different address spaces. Sparse allows an extended attribute ! __attribute__((address_space(num))) on pointers, which ! designates a pointer target in address space num (a constant ! integer). With -Waddress-space, Sparse treats pointers with ! identical target types but different address spaces as distinct ! types. To override this warning, such as for functions which ! convert pointers between address spaces, use a type that ! includes __attribute__((force)). Sparse issues these warnings by default. To turn them off, use -Wno-address-space. -Wbitwise Warn about unsupported operations or type mismatches with --- 34,59 ---- -Waddress-space Warn about code which mixes pointers to different address spaces. Sparse allows an extended attribute ! __attribute__((address_space(id))) on pointers, which designates ! a pointer target in address space id (an identifier or a ! constant integer). With -Waddress-space, Sparse treats pointers ! with identical target types but different address spaces as ! distinct types and will warn accordingly. + Sparse will also warn on casts which remove the address space + (casts to an integer type or to a plain pointer type). An + exception to this is when the destination type is uintptr_t (or + unsigned long) since such casts are often used to "get a pointer + value representation in an integer type" and such values are + independent of the address space. + + To override these warnings, use a type that includes + __attribute__((force)). + Sparse issues these warnings by default. To turn them off, use -Wno-address-space. -Wbitwise Warn about unsupported operations or type mismatches with
*** 70,84 **** particular type. Sparse issues these warnings by default. To turn them off, use -Wno-bitwise. -Wcast-to-as Warn about casts which add an address space to a pointer type. A cast that includes __attribute__((force)) will suppress this ! warning. Sparse does not issue these warnings by default. -Wcast-truncate Warn about casts that truncate constant values. --- 83,113 ---- particular type. Sparse issues these warnings by default. To turn them off, use -Wno-bitwise. + -Wbitwise-pointer + Same as -Wbitwise but for casts to or from pointers to bitwise + types. + + Sparse does not issue these warnings by default. + + -Wcast-from-as + Warn about casts which remove an address space from a pointer + type. + + This is similar to -Waddress-space but will also warn on casts + to unsigned long. + + Sparse does not issues these warnings by default. + -Wcast-to-as Warn about casts which add an address space to a pointer type. A cast that includes __attribute__((force)) will suppress this ! warning. No warning is generated if the original type is ! uintptr_t (or unsigned long). Sparse does not issue these warnings by default. -Wcast-truncate Warn about casts that truncate constant values.
*** 208,223 **** enum type. Sparse issues these warnings by default. To turn them off, use -Wno-enum-mismatch. - -Wempty-character-constant - Warn about a constant such as ''. - - Sparse issues these warnings by default. To turn them off, use - -Wno-empty-character-constant. - -Wexternal-function-has-definition Warn about function definitions that are declared with external linkage. Sparse issues these warnings by default. To turn them off, use --- 237,246 ----
*** 248,263 **** -Wno-memcpy-max-count. The limit can be changed with -fmemcpy-max-count=COUNT, the default being 100000. - -Wnon-ansi-function-declaration - Warn about non-ANSI function declarations. - - Sparse issues these warnings by default. To turn them off, use - -Wno-non-ansi-function-declaration. - -Wnon-pointer-null Warn about the use of 0 as a NULL pointer. 0 has integer type. NULL has pointer type. --- 271,280 ----
*** 353,366 **** Such declarations can lead to error-prone code. Sparse does not issue these warnings by default. -Wsizeof-bool Warn when checking the sizeof a _Bool. ! C99 does not specify the sizeof a _Bool. gcc uses 1. Sparse does not issue these warnings by default. -Wtransparent-union Warn about any declaration using the GCC extension --- 370,394 ---- Such declarations can lead to error-prone code. Sparse does not issue these warnings by default. + -Wshift-count-negative + Warn if a shift count is negative. + + Sparse issues these warnings by default. + + -Wshift-count-overflow + Warn if a shift count is bigger than the operand's width. + + Sparse issues these warnings by default. + -Wsizeof-bool Warn when checking the sizeof a _Bool. ! C99 does not specify the size of a _Bool. GCC, by default, uses ! 1. Sparse does not issue these warnings by default. -Wtransparent-union Warn about any declaration using the GCC extension
*** 395,433 **** Look for system headers in the multiarch subdirectory dir. The dir name would normally take the form of the target's normalized GNU triplet. (e.g. i386-linux-gnu). DEBUG OPTIONS ! -fdump-linearize[=only] ! Dump the IR code of a function directly after its linearization, ! before any simplifications are made. If the argument =only is ! also given no further processing is done on the function. ! -fmem-report Report some statistics about memory allocation used ! by the tool. OTHER OPTIONS -fmemcpy-max-count=COUNT Set the limit for the warnings given by -Wmemcpy-max-count. A ! COUNT of 0, useless in itself, will effectively disable the warning. The default limit is 100000. -ftabstop=WIDTH Set the distance between tab stops. This helps sparse report correct column numbers in warnings or errors. If the value is less than 1 or greater than 100, the option is ignored. The default is 8. SEE ALSO cgcc(1) HOMEPAGE http://www.kernel.org/pub/software/devel/sparse/ MAILING LIST linux-sparse@vger.kernel.org ! MAINTAINER ! Christopher Li <sparse@chrisli.org> sparse(1) --- 423,481 ---- Look for system headers in the multiarch subdirectory dir. The dir name would normally take the form of the target's normalized GNU triplet. (e.g. i386-linux-gnu). DEBUG OPTIONS ! -fmem-report ! Report some statistics about memory allocation used by the tool. OTHER OPTIONS + -fdiagnostic-prefix[=PREFIX] + Prefix all diagnostics by the given PREFIX, followed by ": ". + If no one is given "sparse" is used. The default is to not use + a prefix at all. + -fmemcpy-max-count=COUNT Set the limit for the warnings given by -Wmemcpy-max-count. A ! COUNT of 'unlimited' or '0' will effectively disable the warning. The default limit is 100000. -ftabstop=WIDTH Set the distance between tab stops. This helps sparse report correct column numbers in warnings or errors. If the value is less than 1 or greater than 100, the option is ignored. The default is 8. + -f[no-]unsigned-char, -f[no-]signed-char + Let plain 'char' be unsigned or signed. By default chars are + signed. + SEE ALSO cgcc(1) HOMEPAGE http://www.kernel.org/pub/software/devel/sparse/ MAILING LIST linux-sparse@vger.kernel.org ! CONTRIBUTINGS AND REPORTING BUGS ! Submission of patches and reporting of bugs, as well as discussions ! related to Sparse, should be done via the mailing list (linux- ! sparse@vger.kernel.org) where the development and maintenance is ! primarily done. You do not have to be subscribed to the list to send a ! message there. + Bugs can also be reported and tracked via the Linux kernel's bugzilla: + http://bugzilla.kernel.org/enter_bug.cgi?component=Sparse&product=Tools + . + AUTHORS + Sparse was started by Linus Torvalds. The complete list of + contributors can be find at + https://www.openhub.net/p/sparse/contributors . + + Luc Van Oostenryck is Sparse's current maintainer. + + sparse(1)