From d4a0078bf84c49214033b8e8d8358dbf91101bbe Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 9 Dec 2015 11:07:08 +0000 Subject: [PATCH] re PR ada/66526 (apparent use of uninitialized variables in g-expect.adb) PR ada/66526 * g-expect.adb (Set_Up_Child_Communications): Add matching condition for uses of Input, Ouput and Error variables after the Execvp call. From-SVN: r231450 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/g-expect.adb | 23 ++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 74f02390e7d..38fe3be3d41 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2015-12-09 Eric Botcazou + + PR ada/66526 + * g-expect.adb (Set_Up_Child_Communications): Add matching condition + for uses of Input, Ouput and Error variables after the Execvp call. + 2015-12-08 Jakub Jelinek PR c/48088 diff --git a/gcc/ada/g-expect.adb b/gcc/ada/g-expect.adb index 831d8232fb5..d7e65fb3e45 100644 --- a/gcc/ada/g-expect.adb +++ b/gcc/ada/g-expect.adb @@ -1348,17 +1348,22 @@ package body GNAT.Expect is Portable_Execvp (Pid.Pid'Access, Cmd & ASCII.NUL, Args); - -- The following commands are not executed on Unix systems, and are only - -- required for Windows systems. We are now in the parent process. + -- The following lines are only required for Windows systems and will + -- not be executed on Unix systems, but we use the same condition as + -- above to avoid warnings on uninitialized variables on Unix systems. + -- We are now in the parent process. - -- Restore the old descriptors + if No_Fork_On_Target then + + -- Restore the old descriptors - Dup2 (Input, GNAT.OS_Lib.Standin); - Dup2 (Output, GNAT.OS_Lib.Standout); - Dup2 (Error, GNAT.OS_Lib.Standerr); - Close (Input); - Close (Output); - Close (Error); + Dup2 (Input, GNAT.OS_Lib.Standin); + Dup2 (Output, GNAT.OS_Lib.Standout); + Dup2 (Error, GNAT.OS_Lib.Standerr); + Close (Input); + Close (Output); + Close (Error); + end if; end Set_Up_Child_Communications; --------------------------- -- 2.30.2