aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue207/pack.vhd
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/issue207/pack.vhd')
-rw-r--r--testsuite/gna/issue207/pack.vhd91
1 files changed, 91 insertions, 0 deletions
diff --git a/testsuite/gna/issue207/pack.vhd b/testsuite/gna/issue207/pack.vhd
new file mode 100644
index 000000000..124eb9efc
--- /dev/null
+++ b/testsuite/gna/issue207/pack.vhd
@@ -0,0 +1,91 @@
+--------------------------------------------------------------------------------
+--
+-- Package demo with two simple overloaded procedures
+--
+--------------------------------------------------------------------------------
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+package pack is
+
+ procedure inc(signal val:inout std_logic_vector);
+ procedure inc(signal val:inout unsigned);
+ procedure inc(signal val:inout signed);
+ procedure inc(signal val:inout integer);
+ procedure inc(variable val:inout unsigned);
+ procedure inc(variable val:inout integer);
+ procedure dec(signal val:inout std_logic_vector);
+ procedure dec(signal val:inout unsigned);
+ procedure dec(signal val:inout signed);
+ procedure dec(signal val:inout integer);
+ procedure dec(variable val:inout unsigned);
+ procedure dec(variable val:inout integer);
+
+end pack;
+
+package body pack is
+
+ procedure inc(signal val:inout std_logic_vector) is
+ begin
+ val<= std_logic_vector(unsigned(val) + 1);
+ end;
+
+ procedure inc(signal val:inout signed) is
+ begin
+ val<= val + 1;
+ end;
+
+ procedure inc(signal val:inout unsigned) is
+ begin
+ val<= val + 1;
+ end;
+
+ procedure inc(signal val:inout integer) is
+ begin
+ val<= val + 1;
+ end;
+
+ procedure inc(variable val:inout unsigned) is
+ begin
+ val := val + 1;
+ end;
+
+ procedure inc(variable val:inout integer) is
+ begin
+ val := val + 1;
+ end;
+
+ procedure dec(signal val:inout std_logic_vector) is
+ begin
+ val<= std_logic_vector(unsigned(val) - 1);
+ end;
+
+ procedure dec(signal val:inout unsigned) is
+ begin
+ val<= val - 1;
+ end;
+
+ procedure dec(signal val:inout signed) is
+ begin
+ val<= val - 1;
+ end;
+
+ procedure dec(signal val:inout integer) is
+ begin
+ val<= val - 1;
+ end;
+
+ procedure dec(variable val:inout unsigned) is
+ begin
+ val := val - 1;
+ end;
+
+ procedure dec(variable val:inout integer) is
+ begin
+ val := val - 1;
+ end;
+
+end;
+