[cfe-dev] Spurious puzzling warning with --analyze

Ted Kremenek kremenek at apple.com
Thu Aug 26 13:31:03 PDT 2010


Hi Robert,

Please file a bugzilla report.  The problem is that '1 << n' is not getting accurately modeled, resulting in a false path that triggers the warning.

On Aug 24, 2010, at 1:49 AM, Robert Purves wrote:

> $ cat test.c
> 
> void bar( int x ) { }
> 
> void foo( int n )
> {
> 	int x[4096], i;
> 	
> 	for ( i = 0;  i < (1 << n); i++ )
> 	{
> 		x[i] = i;
> 	}
> 	
> 	for ( i = 0;  i < (1 << n); i++ )
> 	{
> 		bar( x[i] );
> 	}
> }
> 
> $ clang test.c --analyze
> test.c:15:3: warning: Pass-by-value argument in function call is undefined
>                bar( x[i] );
>                ^    ~~~~
> $ clang --version
> clang version 2.8 (trunk 111903)
> 
> Robert P.
> 
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev





More information about the cfe-dev mailing list