diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-08-25 04:12:17 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-08-25 04:12:17 +0200 |
commit | d340440584e3b60d11ec4ac88b34b3ed0dd25d5e (patch) | |
tree | 7e30e3e4f460b8b68e31640b6b8a224d61413024 /src/synth/synth-vhdl_expr.adb | |
parent | 1ac09fc1b9344b41054f1f86263f768e526a6e7f (diff) | |
download | ghdl-d340440584e3b60d11ec4ac88b34b3ed0dd25d5e.tar.gz ghdl-d340440584e3b60d11ec4ac88b34b3ed0dd25d5e.tar.bz2 ghdl-d340440584e3b60d11ec4ac88b34b3ed0dd25d5e.zip |
synth: handle type left/right attributes
Diffstat (limited to 'src/synth/synth-vhdl_expr.adb')
-rw-r--r-- | src/synth/synth-vhdl_expr.adb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/synth/synth-vhdl_expr.adb b/src/synth/synth-vhdl_expr.adb index 62f41d3b5..6f33ff209 100644 --- a/src/synth/synth-vhdl_expr.adb +++ b/src/synth/synth-vhdl_expr.adb @@ -2078,6 +2078,20 @@ package body Synth.Vhdl_Expr is when Iir_Kind_Parenthesis_Expression => return Synth_Expression_With_Type (Syn_Inst, Get_Expression (Expr), Expr_Type); + when Iir_Kind_Left_Type_Attribute => + declare + T : Type_Acc; + begin + T := Synth_Type_Attribute (Syn_Inst, Expr); + return Create_Value_Discrete (T.Drange.Left, Expr_Type); + end; + when Iir_Kind_Right_Type_Attribute => + declare + T : Type_Acc; + begin + T := Synth_Type_Attribute (Syn_Inst, Expr); + return Create_Value_Discrete (T.Drange.Right, Expr_Type); + end; when Iir_Kind_Left_Array_Attribute => declare B : Bound_Type; |