<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>