[PATCH] scan-build to accept all "-isystem" variants

Ted Kremenek kremenek at apple.com
Tue Jan 27 14:04:37 PST 2015


This patch looks good to me.  If you have commit privileges please go ahead and commit it.  Otherwise I'll do it for you.

> On Jan 25, 2015, at 7:40 AM, Thomas Hauth <Thomas.Hauth at kit.edu> wrote:
> 
> Dear clang Developers,
> this is a follow-up on a bug report [3], as I encountered the same
> problem. The ccc-analyzer script used during the scan-build static
> analysis process is not properly forwarding options to the underlying
> compiler. The '-isystem' flag, which marks an include directory to
> contain system headers, is only forwarded if a white space is present
> between "-isystem" and <path>. While both clang rev 226467 and gcc 4.8.3
> support both ("-isystem <path>" and "-isystem<path>"), the ccc-analyzer
> can only handle version with a white space.
> 
> There is no clear documentation whether "-isystem" can contain a
> whitespace, but the gcc documentation states, that "-isystem" can be
> used in place of "-I" [1] which suggest to use it without a whitespace.
> Clang's user manual has one example on using "-isystem", but with a
> white space [2]. I added an example makefile with instructions how to
> reproduce this problem to the above bug report.
> 
> I attached a patch which enables ccc-analyzer to accept and forward both
> the "-isystem <path>" and "-isystem<path>" variant.
> 
> Thanks,
> Thomas
> 
> The attached patch was created against 227046.
> 
> Affected Files:
>   tools/scan-build/ccc-analyzer
> 
> [1]
> https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
> [2]
> http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-in-system-headers
> [3]
> http://llvm.org/bugs/show_bug.cgi?id=13237
> <ccc-analyzer-isystem-no-whitespace.patch>_______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits





More information about the cfe-commits mailing list