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

Ted Kremenek kremenek at apple.com
Mon Feb 2 22:25:29 PST 2015


I've committed it in r227946.  Thank you so much!

> On Jan 28, 2015, at 1:48 AM, Thomas Hauth <Thomas.Hauth at kit.edu> wrote:
> 
> Hello Ted,
> thanks for looking at the patch. I don't have commit privileges so I
> would welcome if you can commit it.
> 
> Thanks,
> Thomas
> 
> On 27.01.2015 23:04, Ted Kremenek wrote:
>> 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