aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/std
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-07-17 20:34:57 +0200
committerTristan Gingold <tgingold@free.fr>2014-07-17 20:34:57 +0200
commitcaba1d1b21d9756ede50f40d53fbc816d3b84320 (patch)
treeee0b8459472a8e7aba4ab7465bc46c74be56cd33 /libraries/std
parent1bc00453a725214de4964add2b7f8423d1a5d2da (diff)
downloadghdl-caba1d1b21d9756ede50f40d53fbc816d3b84320.tar.gz
ghdl-caba1d1b21d9756ede50f40d53fbc816d3b84320.tar.bz2
ghdl-caba1d1b21d9756ede50f40d53fbc816d3b84320.zip
vhdl 2008: visibility, more implicit subprograms, alias...
Use Type_Definition in type_declarator.
Diffstat (limited to 'libraries/std')
-rw-r--r--libraries/std/textio.vhdl14
-rw-r--r--libraries/std/textio_body.vhdl36
2 files changed, 49 insertions, 1 deletions
diff --git a/libraries/std/textio.vhdl b/libraries/std/textio.vhdl
index 49e404325..25d90ec04 100644
--- a/libraries/std/textio.vhdl
+++ b/libraries/std/textio.vhdl
@@ -122,6 +122,10 @@ package Textio is
procedure writeline (variable f: out text; l: inout line); --V87
procedure writeline (file f: text; l: inout line); --V93
+ --START-V08
+ procedure Tee (file f : Text; L : inout LINE);
+ --END-V08
+
-- This implementation accept any value for all the types.
procedure write
(l: inout line; value: in bit;
@@ -161,5 +165,13 @@ package Textio is
alias Bwrite is write [Line, Bit_Vector, Side, Width];
alias Binary_Write is write [Line, Bit_Vector, Side, Width];
- --END-V08
+
+ procedure Owrite (L : inout line; value : in Bit_Vector;
+ Justified : in Side := Right; Field : in Width := 0);
+ alias Octal_Write is Owrite [Line, Bit_Vector, Side, Width];
+
+ procedure Hwrite (L : inout line; value : in Bit_Vector;
+ Justified : in Side := Right; Field : in Width := 0);
+ alias Hex_Write is Hwrite [Line, Bit_Vector, Side, Width];
+--END-V08
end textio;
diff --git a/libraries/std/textio_body.vhdl b/libraries/std/textio_body.vhdl
index a57ed03c3..b402174a4 100644
--- a/libraries/std/textio_body.vhdl
+++ b/libraries/std/textio_body.vhdl
@@ -102,6 +102,28 @@ package body textio is
end if;
end writeline;
+ --START-V08
+ procedure Tee (file f : Text; L : inout LINE) is
+ begin
+ if l = null then
+ -- LRM93 14.3
+ -- If parameter L contains a null access value at the start of the call,
+ -- the a null string is written to the file.
+ write (f, "");
+ write (Output, "");
+ else
+ -- LRM93 14.3
+ -- Procedure WRITELINE causes the current line designated by parameter L
+ -- to be written to the file and returns with the value of parameter L
+ -- designating a null string.
+ write (f, l.all);
+ write (Output, l.all);
+ deallocate (l);
+ l := new string'("");
+ end if;
+ end Tee;
+ --END-V08
+
procedure write
(l: inout line; value: in string;
justified: in side := right; field: in width := 0)
@@ -460,6 +482,20 @@ package body textio is
write (l, str (1 to pos - 1), justified, field);
end write;
+ --START-V08
+ procedure Owrite (L : inout line; value : in Bit_Vector;
+ Justified : in Side := Right; Field : in Width := 0) is
+ begin
+ write (l, to_ostring (value), justified, field);
+ end Owrite;
+
+ procedure Hwrite (L : inout line; value : in Bit_Vector;
+ Justified : in Side := Right; Field : in Width := 0) is
+ begin
+ write (l, to_hstring (value), justified, field);
+ end Hwrite;
+--END-V08
+
procedure untruncated_text_read --V87
(variable f : text; str : out string; len : out natural); --V87
procedure untruncated_text_read --V93