summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vhdl/sem_stmts.adb7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vhdl/sem_stmts.adb b/src/vhdl/sem_stmts.adb
index 6f93041..5e04cb4 100644
--- a/src/vhdl/sem_stmts.adb
+++ b/src/vhdl/sem_stmts.adb
@@ -272,7 +272,8 @@ package body Sem_Stmts is
if Get_Kind (Ass) = Iir_Kind_Aggregate then
Check_Aggregate_Target (Stmt, Ass, Nbr);
else
- if Get_Kind (Stmt) = Iir_Kind_Variable_Assignment_Statement
+ if Get_Kind (Stmt) in
+ Iir_Kinds_Variable_Assignment_Statement
then
Check_Simple_Variable_Target (Stmt, Ass, Locally);
else
@@ -847,6 +848,10 @@ package body Sem_Stmts is
exit when Done;
if not Is_Defined_Type (Stmt_Type) then
Error_Msg_Sem ("cannot resolve type", Stmt);
+ if Get_Kind (Target) = Iir_Kind_Aggregate then
+ -- Try to give an advice.
+ Error_Msg_Sem ("use a qualified expression for the RHS", Stmt);
+ end if;
exit;
end if;
end loop;