summaryrefslogtreecommitdiff
path: root/testsuite/gna/bug05/repro.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/bug05/repro.vhdl')
-rw-r--r--testsuite/gna/bug05/repro.vhdl35
1 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/gna/bug05/repro.vhdl b/testsuite/gna/bug05/repro.vhdl
new file mode 100644
index 0000000..ec31771
--- /dev/null
+++ b/testsuite/gna/bug05/repro.vhdl
@@ -0,0 +1,35 @@
+entity sub is
+ generic (l : natural);
+ port (a : out bit;
+ b : bit_vector (0 to 3);
+ c : bit_vector (0 to l - 1));
+end sub;
+
+architecture behav of sub is
+begin
+ a <= b (0) xor c (0);
+end behav;
+
+entity tb is
+end tb;
+
+architecture behav of tb is
+ signal a : bit;
+ signal b: bit_vector (0 to 3);
+ signal c: bit_vector (0 to 7);
+begin
+ my_sub: entity work.sub
+ generic map (l => c'length)
+ port map (a => a, b => b, c => c);
+
+ process
+ begin
+ wait for 1 ns;
+ assert a = '0';
+ b <= x"0";
+ c <= x"80";
+ wait for 1 ns;
+ assert a = '1';
+ wait;
+ end process;
+end behav;