From 0944be440ce687d828ff7838d5925c54ded2a48a Mon Sep 17 00:00:00 2001 From: William Deegan Date: Mon, 15 Jun 2020 12:10:36 -0700 Subject: remove context manager from Pipe() broke tests --- SCons/Tool/gcc.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/SCons/Tool/gcc.py b/SCons/Tool/gcc.py index b530db2..d56f6a0 100644 --- a/SCons/Tool/gcc.py +++ b/SCons/Tool/gcc.py @@ -77,22 +77,22 @@ def detect_version(env, cc): # GCC versions older than that, we should use --version and a # regular expression. # pipe = SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['-dumpversion'], - with SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['--version'], + pipe=SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['--version'], stdin='devnull', stderr='devnull', - stdout=subprocess.PIPE) as pipe: - if pipe.wait() != 0: - return version - - with pipe.stdout: - # -dumpversion variant: - # line = pipe.stdout.read().strip() - # --version variant: - line = SCons.Util.to_str(pipe.stdout.readline()) - # Non-GNU compiler's output (like AIX xlc's) may exceed the stdout buffer: - # So continue with reading to let the child process actually terminate. - while SCons.Util.to_str(pipe.stdout.readline()): - pass + stdout=subprocess.PIPE) + if pipe.wait() != 0: + return version + + with pipe.stdout: + # -dumpversion variant: + # line = pipe.stdout.read().strip() + # --version variant: + line = SCons.Util.to_str(pipe.stdout.readline()) + # Non-GNU compiler's output (like AIX xlc's) may exceed the stdout buffer: + # So continue with reading to let the child process actually terminate. + while SCons.Util.to_str(pipe.stdout.readline()): + pass # -dumpversion variant: -- cgit v0.12