The problem is that some clients of gcc lookout at the stdout output of gcc;
this requires that all the analyzer diagnostics go to stderr to avoid polluting
stdout.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49355 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2008-04-07 23:27:54 +00:00
Родитель e2563ca02a
Коммит 6e9d38e2b8
1 изменённых файлов: 11 добавлений и 3 удалений

Просмотреть файл

@ -27,8 +27,10 @@ def quote(arg):
return arg
def run(args):
print ' '.join(map(quote, args))
print
# We MUST print to stderr. Some clients use the stdout output of
# gcc for various purposes.
print >> sys.stderr, ' '.join(map(quote, args))
print >> sys.stderr
code = subprocess.call(args)
if code > 255:
code = 1
@ -40,6 +42,8 @@ def preprocess(args):
run(command + args)
def compile(args):
# We MUST print to stderr. Some clients use the stdout output of
# gcc for various purposes.
print >> sys.stderr, '\n'
command = 'gcc'.split()
run(command + args)
@ -57,6 +61,8 @@ def analyze(args,language,output,files,verbose,htmldir):
print_args = []
if verbose:
# We MUST print to stderr. Some clients use the stdout output of
# gcc for various purposes.
print >> sys.stderr, ' '.join(['\n[LOCATION]:', os.getcwd(), '\n' ])
i = 0
while i < len(args):
@ -77,7 +83,9 @@ def analyze(args,language,output,files,verbose,htmldir):
args.append(htmldir)
print_args.append(htmldir)
if verbose:
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'