aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap7.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-01-13 04:32:46 +0100
committerTristan Gingold <tgingold@free.fr>2017-01-13 18:57:25 +0100
commit1dfa4c3a364523c19cf9f5ff1b4bb00dda29b41e (patch)
tree31012366adb3d095b973a7c7e3b3be4519cc1f4e /src/vhdl/translate/trans-chap7.adb
parent1283370d289abafce1c42d0c952b759578ae7ac1 (diff)
downloadghdl-1dfa4c3a364523c19cf9f5ff1b4bb00dda29b41e.tar.gz
ghdl-1dfa4c3a364523c19cf9f5ff1b4bb00dda29b41e.tar.bz2
ghdl-1dfa4c3a364523c19cf9f5ff1b4bb00dda29b41e.zip
vhdl08: implement 'subtype attribute
Fix #253
Diffstat (limited to 'src/vhdl/translate/trans-chap7.adb')
-rw-r--r--src/vhdl/translate/trans-chap7.adb8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap7.adb b/src/vhdl/translate/trans-chap7.adb
index ce503db71..478c76565 100644
--- a/src/vhdl/translate/trans-chap7.adb
+++ b/src/vhdl/translate/trans-chap7.adb
@@ -4304,9 +4304,13 @@ package body Trans.Chap7 is
case Get_Kind (Arange) is
when Iir_Kinds_Denoting_Name =>
return Translate_Range (Get_Named_Entity (Arange), Range_Type);
- when Iir_Kind_Subtype_Declaration =>
+ when Iir_Kind_Subtype_Attribute
+ | Iir_Kind_Subtype_Declaration =>
+ return Translate_Range (Get_Type (Arange), Range_Type);
+ when Iir_Kinds_Scalar_Subtype_Definition
+ | Iir_Kind_Enumeration_Type_Definition =>
-- Must be a scalar subtype. Range of types is static.
- return Get_Var (Get_Info (Get_Type (Arange)).S.Range_Var);
+ return Get_Var (Get_Info (Arange).S.Range_Var);
when Iir_Kind_Range_Array_Attribute =>
return Chap14.Translate_Range_Array_Attribute (Arange);
when Iir_Kind_Reverse_Range_Array_Attribute =>