diff options
author | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2005-10-09 17:27:11 +0000 |
---|---|---|
committer | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2005-10-09 17:27:11 +0000 |
commit | 70cc586c068c297bdd1fbb0285473246f8812655 (patch) | |
tree | c8b7d3fba77073d79d2c7f88bb29e722caf74362 /disp_tree.adb | |
parent | 637d7c01c8c5d577f590f0d6891ab214697255b9 (diff) | |
download | ghdl-70cc586c068c297bdd1fbb0285473246f8812655.tar.gz ghdl-70cc586c068c297bdd1fbb0285473246f8812655.tar.bz2 ghdl-70cc586c068c297bdd1fbb0285473246f8812655.zip |
--vcdz option added,
switched to gcc-4.0.2,
can be compiled with GNAT GPL 2005
ready for ada05 (interface identifier not used anymore)
bug fixes
Diffstat (limited to 'disp_tree.adb')
-rw-r--r-- | disp_tree.adb | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/disp_tree.adb b/disp_tree.adb index 6b3203f33..8f4c967f4 100644 --- a/disp_tree.adb +++ b/disp_tree.adb @@ -16,8 +16,6 @@ -- Software Foundation, 59 Temple Place - Suite 330, Boston, MA -- 02111-1307, USA. with Ada.Text_IO; use Ada.Text_IO; -with System.Storage_Elements; -with Ada.Unchecked_Conversion; with Types; use Types; with Name_Table; with Iirs_Utils; use Iirs_Utils; @@ -32,27 +30,20 @@ package body Disp_Tree is Put (Blanks); end Disp_Tab; - function Addr_Image (A : System.Address) return String is - Res : String (1 .. System.Address'Size / 4); - Hex_Digits : constant array (Integer range 0 .. 15) of Character - := "0123456789abcdef"; - use System; - use System.Storage_Elements; - Addr_Num : Integer_Address := To_Integer (A); - begin - for I in reverse Res'Range loop - Res (I) := Hex_Digits (Integer (Addr_Num mod 16)); - Addr_Num := Addr_Num / 16; - end loop; - return Res; - end Addr_Image; - procedure Disp_Iir_Address (Node: Iir) is - function To_Addr is new Ada.Unchecked_Conversion - (Source => Iir, Target => System.Address); + Res : String (1 .. 10); + Hex_Digits : constant array (Int32 range 0 .. 15) of Character + := "0123456789abcdef"; + N : Int32 := Int32 (Node); begin - Put ('[' & Addr_Image (To_Addr (Node)) & ']'); + for I in reverse 2 .. 9 loop + Res (I) := Hex_Digits (N mod 16); + N := N / 16; + end loop; + Res (1) := '['; + Res (10) := ']'; + Put (Res); end Disp_Iir_Address; function Inc_Tab (Tab: Natural) return Natural is |