<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Anton, <div class=""><br class=""></div><div class="">Thanks for the investigation.</div><div class=""><br class=""></div><div class="">Please, send the proposed wording as a patch. (Not sure if it would be possible to describe the symptoms of the problem.)</div><div class=""><div class=""><br class=""></div><div class="">Anna.</div><div class=""><div><blockquote type="cite" class=""><div class="">On Oct 18, 2014, at 1:56 AM, Anton Yartsev <<a href="mailto:anton.yartsev@gmail.com" class="">anton.yartsev@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta content="text/html; charset=windows-1252" http-equiv="Content-Type" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    <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 class="">
      <br class="">
      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 class="">
      scan-build ... sh -c "make"<br class="">
      or with using mingw32-make and removal of MSYS from PATH
      (otherwise mingw32-make tries to use MSYS utils).<br class="">
      <br class="">
      from the MinGW FAQ:<br class="">
      "What's the difference between make and mingw32-make?<br class="">
      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 class="">
      <br class="">
      Is it OK to add the recommendations to the <a href="http://clang-analyzer.llvm.org/scan-build.html#scanbuild_forwindowsusers" class="">scan-build:
        running the analyzer from the command line</a>, "For Windows
      Users" section?<br class="">
      <br class="">
    </div>
    <blockquote cite="mid:543FAD82.1010004@Gmail.com" type="cite" class="">Sorry,
      that's not a solution.
      <br class="">
      <br class="">
      <blockquote type="cite" class="">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 class="">
        Line from makefile:
        <br class="">
           $(CXX) -DMACRO=\"string\" file.cpp "asd dff ghh" -o file.exe
        <br class="">
        <br class="">
        arguments red from @ARGV by c++-analyzer:
        <br class="">
          "-DMACRO=\string\" file.cpp -o file.exe"
        <br class="">
        <br class="">
        Please review!
        <br class="">
        <br class="">
      </blockquote>
    </blockquote>
    <br class="">
    <pre class="moz-signature" cols="72">-- 
Anton</pre>
  </div>

</div></blockquote></div><br class=""></div></div></body></html>