This patch improves the output of Treepr.pp. This routine is only for use in
gdb, so there is no test case available.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-12-05 Bob Duff <[email protected]>
* treepr.adb (pn): Print something useful for
Elmt_Ids. Add Write_Eol to 'when others' case, so the output
will be seen immediately in gdb.
Index: treepr.adb
===================================================================
--- treepr.adb (revision 182003)
+++ treepr.adb (working copy)
@@ -273,7 +273,17 @@
when Elist_Range =>
Print_Tree_Elist (Elist_Id (N));
when Elmt_Range =>
- raise Program_Error;
+ declare
+ Id : constant Elmt_Id := Elmt_Id (N);
+ begin
+ if No (Id) then
+ Write_Str ("No_Elmt");
+ Write_Eol;
+ else
+ Write_Str ("Elmt_Id --> ");
+ Print_Tree_Node (Node (Id));
+ end if;
+ end;
when Names_Range =>
Namet.wn (Name_Id (N));
when Strings_Range =>
@@ -285,6 +295,7 @@
when others =>
Write_Str ("Invalid Union_Id: ");
Write_Int (Int (N));
+ Write_Eol;
end case;
end pn;