From 44b9c6715c6e8a244adc5129f90440d4e3cdf1b7 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 24 Aug 2020 09:09:49 -0400 Subject: [PATCH] [Ada] Allow use of debug routines when output is going elsewhere gcc/ada/ * sprint.adb (pg, po, ps): Use {Push,Pop}_Output. * treepr.adb (pl, pn): Likewise. --- gcc/ada/sprint.adb | 9 +++++++++ gcc/ada/treepr.adb | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/gcc/ada/sprint.adb b/gcc/ada/sprint.adb index 774bcf7f336..d71c415815c 100644 --- a/gcc/ada/sprint.adb +++ b/gcc/ada/sprint.adb @@ -420,6 +420,8 @@ package body Sprint is Dump_Original_Only := False; Dump_Freeze_Null := True; Current_Source_File := No_Source_File; + Push_Output; + Set_Standard_Output; if Arg in List_Range then Sprint_Node_List (List_Id (Arg), New_Lines => True); @@ -432,6 +434,7 @@ package body Sprint is end if; Write_Eol; + Pop_Output; end pg; -------- @@ -444,6 +447,8 @@ package body Sprint is Dump_Original_Only := True; Dump_Freeze_Null := False; Current_Source_File := No_Source_File; + Push_Output; + Set_Standard_Output; if Arg in List_Range then Sprint_Node_List (List_Id (Arg), New_Lines => True); @@ -456,6 +461,7 @@ package body Sprint is end if; Write_Eol; + Pop_Output; end po; ---------------------- @@ -477,6 +483,8 @@ package body Sprint is Dump_Original_Only := False; Dump_Freeze_Null := False; Current_Source_File := No_Source_File; + Push_Output; + Set_Standard_Output; if Arg in List_Range then Sprint_Node_List (List_Id (Arg), New_Lines => True); @@ -489,6 +497,7 @@ package body Sprint is end if; Write_Eol; + Pop_Output; end ps; -------------------- diff --git a/gcc/ada/treepr.adb b/gcc/ada/treepr.adb index d902ab820df..ee1b3ba43cb 100644 --- a/gcc/ada/treepr.adb +++ b/gcc/ada/treepr.adb @@ -264,6 +264,9 @@ package body Treepr is Lid : Int; begin + Push_Output; + Set_Standard_Output; + if L < 0 then Lid := L; @@ -292,6 +295,7 @@ package body Treepr is -- Now output the list Print_Tree_List (List_Id (Lid)); + Pop_Output; end pl; -------- @@ -300,6 +304,9 @@ package body Treepr is procedure pn (N : Union_Id) is begin + Push_Output; + Set_Standard_Output; + case N is when List_Low_Bound .. List_High_Bound - 1 => pl (Int (N)); @@ -332,6 +339,8 @@ package body Treepr is Write_Int (Int (N)); Write_Eol; end case; + + Pop_Output; end pn; -------- -- 2.30.2