[cfe-dev] Static analyzer gives no warnings in #included *.c files
Robert Purves
listrp at gmail.com
Tue Jan 17 14:37:40 PST 2012
$ cat foo.c
int foo( void ) {
int x;
if ( x ) return 1; /* uninitialized */
return 0;
}
$ cat main.c
#include "foo.c" /* ignored by static analyzer? */
int main( void ) {
return 0;
}
$ clang main.c --analyze
$ clang --version
clang version 3.1 (trunk 148340)
Analysis of main.c is defective. Explicit analysis of foo.c does give a warning.
$ clang foo.c --analyze
foo.c:3:10: warning: Branch condition evaluates to a garbage value
if ( x ) return 1; /* uninitialized */
^
1 warning generated.
Robert P.
More information about the cfe-dev
mailing list