Added internal command logging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51003 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ccc-analyzer b/utils/ccc-analyzer
index d199553..8f69b0a 100755
--- a/utils/ccc-analyzer
+++ b/utils/ccc-analyzer
@@ -64,7 +64,10 @@
while i < len(args):
print_args.append(''.join([ '\'', args[i], '\'' ]))
i += 1
-
+
+
+ RunAnalyzer = 0;
+
if language.find("header") > 0:
target = remove_pch_extension(output)
command = 'cp'.split()
@@ -72,19 +75,25 @@
else:
command = clang.split() + '-checker-cfref'.split()
args = command + args;
-
- if htmldir is not None:
- args.append('-o')
- print_args.append('-o')
- args.append(htmldir)
- print_args.append(htmldir)
+ RunAnalyzer = 1
+
+ if verbose == 2:
+ print >> sys.stderr, '#SHELL (cd ' + os.getcwd() + ' && ' + ' '.join(command + print_args) + ')\n'
+
+
+ if RunAnalyzer and htmldir is not None:
+ args.append('-o')
+ print_args.append('-o')
+ args.append(htmldir)
+ print_args.append(htmldir)
if verbose:
# We MUST print to stderr. Some clients use the stdout output of
# gcc for various purposes.
print >> sys.stderr, ' '.join(command+print_args)
print >> sys.stderr, '\n'
-
+
+
subprocess.call(args)
def link(args):
@@ -133,7 +142,10 @@
if os.environ.get('CCC_ANALYZER_VERBOSE') is not None:
- verbose =1
+ verbose = 1
+
+ if os.environ.get('CCC_ANALYZER_LOG') is not None:
+ verbose = 2
clang_env = os.environ.get('CLANG')
diff --git a/utils/scan-build b/utils/scan-build
index 1514db3..5a74c8c 100755
--- a/utils/scan-build
+++ b/utils/scan-build
@@ -662,6 +662,10 @@
$ENV{'CCC_ANALYZER_VERBOSE'} = 1;
}
+if ($Verbose >= 3) {
+ $ENV{'CCC_ANALYZER_LOG'} = 1;
+}
+
# Run the build.
RunBuildCommand(\@ARGV, $IgnoreErrors);