[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.
This commit is contained in:
Richard Kenner 2020-08-24 09:09:49 -04:00 committed by Pierre-Marie de Rodat
parent 47c53b0a23
commit 44b9c6715c
2 changed files with 18 additions and 0 deletions

View File

@ -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;
--------------------

View File

@ -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;
--------