aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/bug02/repro3.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/bug02/repro3.vhdl')
-rw-r--r--testsuite/gna/bug02/repro3.vhdl49
1 files changed, 49 insertions, 0 deletions
diff --git a/testsuite/gna/bug02/repro3.vhdl b/testsuite/gna/bug02/repro3.vhdl
new file mode 100644
index 000000000..31d489224
--- /dev/null
+++ b/testsuite/gna/bug02/repro3.vhdl
@@ -0,0 +1,49 @@
+entity repro3 is
+
+end repro3;
+
+package repro3_pkg is
+ procedure inc (a : inout integer);
+ type prot is protected
+ procedure get (a : integer);
+ end protected prot;
+end repro3_pkg;
+
+package body repro3_pkg is
+ procedure inc (a : inout integer) is
+ begin
+ a := a + 1;
+ end inc;
+
+ procedure inc (a : inout time) is
+ begin
+ a := a + 1 ns;
+ end inc;
+
+ type prot is protected body
+ variable v : integer;
+
+ function inc (a : integer) return integer is
+ begin
+ return a + 1;
+ end inc;
+
+ procedure get (a : integer) is
+ begin
+ v := a;
+ end get;
+ end protected body prot;
+
+end repro3_pkg;
+
+use work.repro3_pkg.all;
+architecture behav of repro3 is
+begin -- behav
+ process
+ variable a : integer := 2;
+ begin
+ inc (a);
+ assert a = 3 report "bad value of a";
+ wait;
+ end process;
+end behav;