diff options
Diffstat (limited to 'testsuite/synth/issue2045/ghdlcrash.vhdl')
-rw-r--r-- | testsuite/synth/issue2045/ghdlcrash.vhdl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/synth/issue2045/ghdlcrash.vhdl b/testsuite/synth/issue2045/ghdlcrash.vhdl new file mode 100644 index 000000000..4fda4dde4 --- /dev/null +++ b/testsuite/synth/issue2045/ghdlcrash.vhdl @@ -0,0 +1,35 @@ +library ieee; +use ieee.std_logic_1164.all; + +entity ghdlcrash is + port ( + i : in std_logic; + o : out std_logic + ); +end ghdlcrash; + +architecture synth of ghdlcrash is + + -- Utility function to calculate minimum of two values + function min(a, b : natural) return natural is + variable m : natural := 0; + begin + + -- This line makes GHDL crash + m := a when a <= b else b; + + -- This works + if a <= b then m := a ; else m := b; end if; + + return m; + end function; + + -- Initialize general input grouping + constant CST : natural := min(0, 0); + +begin + + -- Phony functionality + o <= i; + +end architecture; |