diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-12-18 21:45:57 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-12-19 04:13:35 +0100 |
commit | b82151d36e4e8c8a3784e515fb8a3b80a69e1049 (patch) | |
tree | bc0bc2f95a4798058c411d0517802d959b3b4dc5 /testsuite/gna/issue216/test.vhdl | |
parent | cadb1e205d1a9fea356943f8e524c379cc1fa2a8 (diff) | |
download | ghdl-b82151d36e4e8c8a3784e515fb8a3b80a69e1049.tar.gz ghdl-b82151d36e4e8c8a3784e515fb8a3b80a69e1049.tar.bz2 ghdl-b82151d36e4e8c8a3784e515fb8a3b80a69e1049.zip |
Add testcase for #216
Diffstat (limited to 'testsuite/gna/issue216/test.vhdl')
-rw-r--r-- | testsuite/gna/issue216/test.vhdl | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/testsuite/gna/issue216/test.vhdl b/testsuite/gna/issue216/test.vhdl new file mode 100644 index 000000000..e0b69887f --- /dev/null +++ b/testsuite/gna/issue216/test.vhdl @@ -0,0 +1,39 @@ +ENTITY test IS +END ENTITY test; + +ARCHITECTURE rtl OF test IS + + TYPE test_type_t IS ( + TEST_1, + TEST_2); + + TYPE test_type_value_t IS ARRAY (test_type_t) OF natural; + + CONSTANT C_TEST_TYPE_VALUE : test_type_value_t := ( + TEST_1 => 0, + TEST_2 => 1); + + CONSTANT C_TEST_TYPE_TEST_1 : natural := C_TEST_TYPE_VALUE(TEST_1); + CONSTANT C_TEST_TYPE_TEST_2 : natural := C_TEST_TYPE_VALUE(TEST_2); + + FUNCTION get_priority ( + arg : natural) + RETURN natural IS + VARIABLE result_v : natural; + BEGIN + CASE arg IS + WHEN C_TEST_TYPE_TEST_1 => + result_v := 3; + WHEN C_TEST_TYPE_TEST_2 => + result_v := 0; + WHEN OTHERS => + REPORT "Unknown Sector Type" + SEVERITY error; + result_v := 4; + END CASE; + RETURN result_v; + END FUNCTION get_priority; + +BEGIN + +END ARCHITECTURE rtl; |