aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-10-13 03:43:18 +0200
committerTristan Gingold <tgingold@free.fr>2022-10-13 03:43:18 +0200
commit26d6de24d7f93a1dde14ac457d67e3258b946c94 (patch)
tree0d686e437c784f0bfb7a07bac0bb3d1d7a4cb446 /src/synth
parent04f89a0a58a325a41b55e5d47b863885530dcad5 (diff)
downloadghdl-26d6de24d7f93a1dde14ac457d67e3258b946c94.tar.gz
ghdl-26d6de24d7f93a1dde14ac457d67e3258b946c94.tar.bz2
ghdl-26d6de24d7f93a1dde14ac457d67e3258b946c94.zip
elab-vhd_expr: handle more cases in exec_type_of_object
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/elab-vhdl_expr.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/synth/elab-vhdl_expr.adb b/src/synth/elab-vhdl_expr.adb
index 15e14417d..a417f08a6 100644
--- a/src/synth/elab-vhdl_expr.adb
+++ b/src/synth/elab-vhdl_expr.adb
@@ -363,6 +363,8 @@ package body Elab.Vhdl_Expr is
end;
when Iir_Kind_Simple_Name =>
return Exec_Type_Of_Object (Syn_Inst, Get_Named_Entity (Expr));
+ when Iir_Kind_Parenthesis_Expression =>
+ return Exec_Type_Of_Object (Syn_Inst, Get_Expression (Expr));
when Iir_Kind_Slice_Name =>
declare
use Netlists;
@@ -410,7 +412,8 @@ package body Elab.Vhdl_Expr is
return Res.Typ;
end;
- when Iir_Kind_String_Literal8 =>
+ when Iir_Kind_String_Literal8
+ | Iir_Kind_Aggregate =>
-- TODO: the value should be computed (once) and its type
-- returned.
return Synth_Subtype_Indication (Syn_Inst, Get_Type (Expr));