aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue216/test.vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-12-18 21:45:57 +0100
committerTristan Gingold <tgingold@free.fr>2016-12-19 04:13:35 +0100
commitb82151d36e4e8c8a3784e515fb8a3b80a69e1049 (patch)
treebc0bc2f95a4798058c411d0517802d959b3b4dc5 /testsuite/gna/issue216/test.vhdl
parentcadb1e205d1a9fea356943f8e524c379cc1fa2a8 (diff)
downloadghdl-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.vhdl39
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;