aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap7.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-06-19 16:17:42 +0200
committerTristan Gingold <tgingold@free.fr>2022-06-19 16:17:42 +0200
commit86e2642d7ee6f2932335de3766356fe4be55183d (patch)
treea03547a35f354e9e150feadded533c63e78e7f43 /src/vhdl/translate/trans-chap7.adb
parentc54082b2cfa536c6bf97128d7725eadfae0fe4f8 (diff)
downloadghdl-86e2642d7ee6f2932335de3766356fe4be55183d.tar.gz
ghdl-86e2642d7ee6f2932335de3766356fe4be55183d.tar.bz2
ghdl-86e2642d7ee6f2932335de3766356fe4be55183d.zip
trans-chap7: translate anonymous subtype of overflow literal. Fox #2066
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 bd80b1050..17eb783ea 100644
--- a/src/vhdl/translate/trans-chap7.adb
+++ b/src/vhdl/translate/trans-chap7.adb
@@ -4408,15 +4408,19 @@ package body Trans.Chap7 is
function Translate_Overflow_Literal (Expr : Iir) return O_Enode
is
Expr_Type : constant Iir := Get_Type (Expr);
- Tinfo : constant Type_Info_Acc := Get_Info (Expr_Type);
- Otype : constant O_Tnode := Tinfo.Ortho_Type (Mode_Value);
+ Tinfo : Type_Info_Acc;
+ Otype : O_Tnode;
L : O_Dnode;
begin
+ Chap3.Translate_Anonymous_Subtype_Definition (Expr_Type, False);
+
-- Generate the error message
Chap6.Gen_Bound_Error (Expr);
-- Create a dummy value, for type checking. But never
-- executed.
+ Tinfo := Get_Info (Expr_Type);
+ Otype := Tinfo.Ortho_Type (Mode_Value);
L := Create_Temp (Otype);
if Tinfo.Type_Mode in Type_Mode_Fat then
-- For fat pointers or arrays.