summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xclang/tools/scan-build/libexec/ccc-analyzer13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/tools/scan-build/libexec/ccc-analyzer b/clang/tools/scan-build/libexec/ccc-analyzer
index e1635e6c29b..6d24a1af453 100755
--- a/clang/tools/scan-build/libexec/ccc-analyzer
+++ b/clang/tools/scan-build/libexec/ccc-analyzer
@@ -498,7 +498,8 @@ my $HasSDK = 0;
# Process the arguments.
foreach (my $i = 0; $i < scalar(@ARGV); ++$i) {
my $Arg = $ARGV[$i];
- my ($ArgKey) = split /=/,$Arg,2;
+ my @ArgParts = split /=/,$Arg,2;
+ my $ArgKey = @ArgParts[0];
# Be friendly to "" in the argument list.
if (!defined($ArgKey)) {
@@ -566,10 +567,12 @@ foreach (my $i = 0; $i < scalar(@ARGV); ++$i) {
push @CompileOpts,$Arg;
push @LinkOpts,$Arg;
- while ($Cnt > 0) {
- ++$i; --$Cnt;
- push @CompileOpts, $ARGV[$i];
- push @LinkOpts, $ARGV[$i];
+ if (scalar @ArgParts == 1) {
+ while ($Cnt > 0) {
+ ++$i; --$Cnt;
+ push @CompileOpts, $ARGV[$i];
+ push @LinkOpts, $ARGV[$i];
+ }
}
next;
}
OpenPOWER on IntegriCloud