forked from OSchip/llvm-project
[analyzer] scan-build: emit errors on stderr, and exit(1) instead of exit(0).
PR14963 llvm-svn: 177678
This commit is contained in:
parent
5ef3fcb745
commit
83662f75ad
|
@ -58,6 +58,16 @@ sub Diag {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub ErrorDiag {
|
||||||
|
if ($UseColor) {
|
||||||
|
print STDERR BOLD, RED "$Prog: ";
|
||||||
|
print STDERR RESET, RED @_;
|
||||||
|
print STDERR RESET;
|
||||||
|
} else {
|
||||||
|
print STDERR "$Prog: @_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub DiagCrashes {
|
sub DiagCrashes {
|
||||||
my $Dir = shift;
|
my $Dir = shift;
|
||||||
Diag ("The analyzer encountered problems on some source files.\n");
|
Diag ("The analyzer encountered problems on some source files.\n");
|
||||||
|
@ -68,14 +78,14 @@ sub DiagCrashes {
|
||||||
|
|
||||||
sub DieDiag {
|
sub DieDiag {
|
||||||
if ($UseColor) {
|
if ($UseColor) {
|
||||||
print BOLD, RED "$Prog: ";
|
print STDERR BOLD, RED "$Prog: ";
|
||||||
print RESET, RED @_;
|
print STDERR RESET, RED @_;
|
||||||
print RESET;
|
print STDERR RESET;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print "$Prog: ", @_;
|
print STDERR "$Prog: ", @_;
|
||||||
}
|
}
|
||||||
exit(0);
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
##----------------------------------------------------------------------------##
|
##----------------------------------------------------------------------------##
|
||||||
|
@ -90,7 +100,7 @@ if (grep /^--help-checkers$/, @ARGV) {
|
||||||
my ($sign, $name, @text) = split ' ', $_;
|
my ($sign, $name, @text) = split ' ', $_;
|
||||||
print $name, $/ if $sign eq '+';
|
print $name, $/ if $sign eq '+';
|
||||||
}
|
}
|
||||||
exit 1;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
##----------------------------------------------------------------------------##
|
##----------------------------------------------------------------------------##
|
||||||
|
@ -1310,16 +1320,14 @@ my $InternalStats;
|
||||||
my $OutputFormat = "html";
|
my $OutputFormat = "html";
|
||||||
my $AnalyzerStats = 0;
|
my $AnalyzerStats = 0;
|
||||||
my $MaxLoop = 0;
|
my $MaxLoop = 0;
|
||||||
|
my $RequestDisplayHelp = 0;
|
||||||
|
my $ForceDisplayHelp = 0;
|
||||||
|
my $AnalyzerDiscoveryMethod;
|
||||||
|
|
||||||
if (!@ARGV) {
|
if (!@ARGV) {
|
||||||
DisplayHelp();
|
$ForceDisplayHelp = 1
|
||||||
exit 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
my $displayHelp = 0;
|
|
||||||
my $AnalyzerDiscoveryMethod;
|
|
||||||
|
|
||||||
while (@ARGV) {
|
while (@ARGV) {
|
||||||
|
|
||||||
# Scan for options we recognize.
|
# Scan for options we recognize.
|
||||||
|
@ -1327,7 +1335,7 @@ while (@ARGV) {
|
||||||
my $arg = $ARGV[0];
|
my $arg = $ARGV[0];
|
||||||
|
|
||||||
if ($arg eq "-h" or $arg eq "--help") {
|
if ($arg eq "-h" or $arg eq "--help") {
|
||||||
$displayHelp = 1;
|
$RequestDisplayHelp = 1;
|
||||||
shift @ARGV;
|
shift @ARGV;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
@ -1507,9 +1515,9 @@ while (@ARGV) {
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!@ARGV and $displayHelp == 0) {
|
if (!@ARGV and !$RequestDisplayHelp) {
|
||||||
Diag("No build command specified.\n\n");
|
ErrorDiag("No build command specified.\n\n");
|
||||||
$displayHelp = 1;
|
$ForceDisplayHelp = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Find 'clang'
|
# Find 'clang'
|
||||||
|
@ -1519,7 +1527,7 @@ if (!defined $AnalyzerDiscoveryMethod) {
|
||||||
$Clang = Cwd::realpath("$RealBin/clang");
|
$Clang = Cwd::realpath("$RealBin/clang");
|
||||||
}
|
}
|
||||||
if (!defined $Clang || ! -x $Clang) {
|
if (!defined $Clang || ! -x $Clang) {
|
||||||
if (!$displayHelp) {
|
if (!$RequestDisplayHelp && !$ForceDisplayHelp) {
|
||||||
DieDiag("error: Cannot find an executable 'clang' relative to scan-build." .
|
DieDiag("error: Cannot find an executable 'clang' relative to scan-build." .
|
||||||
" Consider using --use-analyzer to pick a version of 'clang' to use for static analysis.\n");
|
" Consider using --use-analyzer to pick a version of 'clang' to use for static analysis.\n");
|
||||||
}
|
}
|
||||||
|
@ -1546,9 +1554,9 @@ else {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($displayHelp) {
|
if ($ForceDisplayHelp || $RequestDisplayHelp) {
|
||||||
DisplayHelp();
|
DisplayHelp();
|
||||||
exit 1;
|
exit $ForceDisplayHelp;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ClangCXX = $Clang;
|
$ClangCXX = $Clang;
|
||||||
|
|
Loading…
Reference in New Issue