aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna')
-rw-r--r--testsuite/gna/bug079/repro1.vhdl19
-rw-r--r--testsuite/gna/bug079/repro2.vhdl25
-rwxr-xr-xtestsuite/gna/bug079/testsuite.sh13
3 files changed, 57 insertions, 0 deletions
diff --git a/testsuite/gna/bug079/repro1.vhdl b/testsuite/gna/bug079/repro1.vhdl
new file mode 100644
index 000000000..08d122f1f
--- /dev/null
+++ b/testsuite/gna/bug079/repro1.vhdl
@@ -0,0 +1,19 @@
+entity repro1 is
+end repro1;
+
+architecture behav of repro1 is
+begin
+
+ process
+ variable var : natural;
+
+ procedure proc (var : natural) is
+ begin
+ assert var = 5;
+ end;
+ begin
+ var := 5;
+ proc (var => var);
+ wait;
+ end process;
+end behav;
diff --git a/testsuite/gna/bug079/repro2.vhdl b/testsuite/gna/bug079/repro2.vhdl
new file mode 100644
index 000000000..d1cec45bb
--- /dev/null
+++ b/testsuite/gna/bug079/repro2.vhdl
@@ -0,0 +1,25 @@
+entity repro2 is
+end repro2;
+
+architecture behav of repro2 is
+begin
+
+ process
+ type my_rec is record
+ inc : natural;
+ b : bit;
+ end record;
+
+ constant bv : bit_vector := x"45";
+
+ procedure proc (v : my_rec; bv : bit) is
+ begin
+ assert v.b = bv;
+ end;
+ begin
+ proc (v => (inc => 3,
+ b => bv(3)),
+ bv => '0');
+ wait;
+ end process;
+end behav;
diff --git a/testsuite/gna/bug079/testsuite.sh b/testsuite/gna/bug079/testsuite.sh
new file mode 100755
index 000000000..e9441fcef
--- /dev/null
+++ b/testsuite/gna/bug079/testsuite.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+analyze repro1.vhdl
+elab_simulate repro1
+
+analyze repro2.vhdl
+elab_simulate repro2
+
+clean
+
+echo "Test successful"