]> granicus.if.org Git - clang/commitdiff
[analyzer] scan-build: Teach ccc-analyzer about -Xclang.
authorDevin Coughlin <dcoughlin@apple.com>
Sun, 25 Oct 2015 01:30:18 +0000 (01:30 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Sun, 25 Oct 2015 01:30:18 +0000 (01:30 +0000)
Update ccc-analyzer to forward both -Xclang and its following argument to the
the compiler driver. Previously we were dropping -Xclang and forwarding the
argument on its own if it matched other forwarding criteria. This caused the
argument to be interpreted as a driver rather than a frontend option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251218 91177308-0d34-0410-b5e6-96231b3b80d8

tools/scan-build/ccc-analyzer

index 5ea1fad9bc8532036f90d6f633f512ec7ec157e2..8bbb1037e6d17d177e7d61c00a128bf629f2f2e7 100755 (executable)
@@ -667,6 +667,15 @@ foreach (my $i = 0; $i < scalar(@ARGV); ++$i) {
     next;
   }
 
+  # Handle -Xclang some-arg. Add both arguments to the compiler options.
+  if ($Arg =~ /^-Xclang$/) {
+    # FIXME: Check if we are going off the end.
+    ++$i;
+    push @CompileOpts, $Arg;
+    push @CompileOpts, $ARGV[$i];
+    next;
+  }
+
   if (!($Arg =~ /^-/)) {
     push @Files, $Arg;
     next;