<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">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".<br>
<br>
I performed several tests and found out that proper processing is
performed with either running scan-build with MSYS make in the
following way:<br>
scan-build ... sh -c "make"<br>
or with using mingw32-make and removal of MSYS from PATH
(otherwise mingw32-make tries to use MSYS utils).<br>
<br>
from the MinGW FAQ:<br>
"What's the difference between make and mingw32-make?<br>
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."<br>
<br>
Is it OK to add the recommendations to the <a
href="http://clang-analyzer.llvm.org/scan-build.html#scanbuild_forwindowsusers">scan-build:
running the analyzer from the command line</a>, "For Windows
Users" section?<br>
<br>
</div>
<blockquote cite="mid:543FAD82.1010004@Gmail.com" type="cite">Sorry,
that's not a solution.
<br>
<br>
<blockquote type="cite">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:
<br>
Line from makefile:
<br>
$(CXX) -DMACRO=\"string\" file.cpp "asd dff ghh" -o file.exe
<br>
<br>
arguments red from @ARGV by c++-analyzer:
<br>
"-DMACRO=\string\" file.cpp -o file.exe"
<br>
<br>
Please review!
<br>
<br>
</blockquote>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Anton</pre>
</body>
</html>