<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 01.05.2013 6:29, Jordan Rose wrote:<br>
    </div>
    <blockquote
      cite="mid:8369578E-5301-43AE-A5D0-26B0C9D0E3A0@apple.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>Comments:</div>
      <div><br>
      </div>
      <div>
        <div>
          <blockquote type="cite">+use English;</blockquote>
          <br>
        </div>
      </div>
      <div>According to <a moz-do-not-send="true"
          href="http://perldoc.perl.org/English.html">http://perldoc.perl.org/English.html</a>,
        it's probably better to use </div>
      <div><br>
      </div>
      <div>use English qw( -no_match_vars ) ;</div>
      <div><br>
      </div>
      <div>...not that scan-build's startup time matters <i>that</i> much.</div>
    </blockquote>
    Currently this is used only for $OSNAME while short names are used
    for all other special perl variables.<br>
    Considering that using English affects performance, what about
    rolling back to $^O and adding explanatory comment instead?<br>
    <br>
    <blockquote
      cite="mid:8369578E-5301-43AE-A5D0-26B0C9D0E3A0@apple.com"
      type="cite">
      <blockquote type="cite">
        <div>
          <div>@@ -1576,16 +1584,17 @@</div>
          <div> </div>
          <div> # Determine the location of ccc-analyzer.</div>
          <div> my $AbsRealBin = Cwd::realpath($RealBin);</div>
          <div>+my $CXXAnalyzerExecName = "c++-analyzer";</div>
          <div> my $Cmd = "$AbsRealBin/libexec/ccc-analyzer";</div>
          <div>-my $CmdCXX = "$AbsRealBin/libexec/c++-analyzer";</div>
          <div>+my $CmdCXX = "$AbsRealBin/libexec/$CXXAnalyzerExecName";</div>
          <div> </div>
          <div> if (!defined $Cmd || ! -x $Cmd) {</div>
          <div>   $Cmd = "$AbsRealBin/ccc-analyzer";</div>
          <div>   DieDiag("Executable 'ccc-analyzer' does not exist at
            '$Cmd'\n") if(! -x $Cmd);</div>
          <div> }</div>
          <div> if (!defined $CmdCXX || ! -x $CmdCXX) {</div>
          <div>-  $CmdCXX = "$AbsRealBin/c++-analyzer";</div>
          <div>-  DieDiag("Executable 'c++-analyzer' does not exist at
            '$CmdCXX'\n") if(! -x $CmdCXX);</div>
          <div>+  $CmdCXX = "$AbsRealBin/$CXXAnalyzerExecName";</div>
          <div>+  DieDiag("Executable '$CXXAnalyzerExecName' does not
            exist at '$CmdCXX'\n") if(! -x $CmdCXX);</div>
          <div> }</div>
        </div>
      </blockquote>
      <div><br>
      </div>
      <div>This section is no longer necessary.</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>Finally, it seems a bit funny to have a .pm file that
        contains top-level code and then exits, rather than just
        declaring stuff. Here's another redesign: ccc-analyzer stays the
        same, and c++-analyzer is just "do 'ccc-analyzer'". How's that
        sound?</div>
    </blockquote>
    'do' is just what I searched for, but missed.<br>
    <br>
    <blockquote
      cite="mid:8369578E-5301-43AE-A5D0-26B0C9D0E3A0@apple.com"
      type="cite">
      <div><br>
      </div>
      <div>If you don't like that, then the top-level code in
        analyzer_common.pm should probably be organized into some
        run()-like function. That would at least take out the check for
        $FindBin::Script: each wrapper script would already know if it
        was supposed to be a C++ compiler or not.</div>
      <div><br>
      </div>
      <div>Jordan</div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Anton</pre>
  </body>
</html>