Ping!
Updated the "For Windows Users" section with helpful hints, OK to commit?
Anton,
Thanks for the investigation.
Please, send the proposed wording as a patch. (Not sure if it would
be possible to describe the symptoms of the problem.)
Anna.
On Oct 18, 2014, at 1:56 AM, Anton Yartsev <anton.yart...@gmail.com
<mailto:anton.yart...@gmail.com>> wrote:
As I was explained in the MSYS community the MSYS utils are
dependent on the MSYS runtime and their usage from cmd.exe is
unsupported. "You are welcome to try it, but if you observe odd
behaviour, such as here, then you are out of luck".
I performed several tests and found out that proper processing is
performed with either running scan-build with MSYS make in the
following way:
scan-build ... sh -c "make"
or with using mingw32-make and removal of MSYS from PATH (otherwise
mingw32-make tries to use MSYS utils).
from the MinGW FAQ:
"What's the difference between make and mingw32-make?
The "native" (i.e.: MSVCRT dependent) port of make is lacking in
some functionality and has modified functionality due to the lack of
POSIX on Win32. There also exists a version of make in the MSYS
distribution that is dependent on the MSYS runtime. This port
operates more as make was intended to operate and gives less
headaches during execution. Based on this, the MinGW
developers/maintainers/packagers decided it would be best to rename
the native version so that both the "native" version and the MSYS
version could be present at the same time without file name collision."
Is it OK to add the recommendations to the scan-build: running the
analyzer from the command line
<http://clang-analyzer.llvm.org/scan-build.html#scanbuild_forwindowsusers>,
"For Windows Users" section?
Sorry, that's not a solution.
The goal of the patch is to pass unmodified arguments to compilers
as they were written in the makefile. Arguments taken from @ARGV
may be modified by the system and Perl, at least quotes and
backslash sequences are processed. Using this arguments may cause
compiler errors. Sometimes system+Perl corrupt arguments
completely, for example, using perl from MSYS 1.0 on Windows I got:
Line from makefile:
$(CXX) -DMACRO=\"string\" file.cpp "asd dff ghh" -o file.exe
arguments red from @ARGV by c++-analyzer:
"-DMACRO=\string\" file.cpp -o file.exe"
Please review!
--
Anton
--
Anton
--
Anton
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits