[PATCH] [analyzer] Prevent ccc/c++-analyzer from hanging on Windows.

Антон Ярцев anton.yartsev at gmail.com
Wed Jun 17 18:52:53 PDT 2015


Updated the patch.
The patch now includes the fix for D9357 <http://reviews.llvm.org/D9357> that happen to be related to this issue. Perl 'system' and 'exec' routines process arguments differently depending on the perl port (tested with MSYS Perl, Dwimperl, Strawberry Perl and ActiveState Perl, got different results in terms of processing quotes and escaped characters) and on the OS (because arguments are passed to the system's command shell for parsing). 
The patch replaces all 'exec' and 'system' calls with pipe form of 'open' that behaves consistently in all tested perl ports and operating systems (Windows 7, OS X, Ubuntu).
Tested with arguments like -DMACRO="\"'A=a' 'B=b'\"" and -DMACRO='"include.h"'.
Please review!

In http://reviews.llvm.org/D8774#187749, @sylvestre.ledru wrote:

> I am not sure what is going on but a rebuild without your patch works


Fixed issues, please test it once again.


http://reviews.llvm.org/D8774

Files:
  tools/scan-build/ccc-analyzer
  tools/scan-build/scan-build

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8774.27906.patch
Type: text/x-patch
Size: 6196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150618/23e29199/attachment.bin>


More information about the cfe-commits mailing list