From db8354e41521bc803bf1c832f679780a1bf2fbb2 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sun, 21 Nov 2021 17:34:49 +0100 Subject: vhdl-sem_decls: avoid a crash on invalid alias name. Fix #1919 --- src/vhdl/vhdl-sem_decls.adb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/vhdl/vhdl-sem_decls.adb b/src/vhdl/vhdl-sem_decls.adb index 19c5ec4d7..9d7f3b20d 100644 --- a/src/vhdl/vhdl-sem_decls.adb +++ b/src/vhdl/vhdl-sem_decls.adb @@ -1839,6 +1839,16 @@ package body Vhdl.Sem_Decls is Name := Get_Signature_Prefix (Sig); Sem_Name (Name); Set_Signature_Prefix (Sig, Name); + when Iir_Kind_String_Literal8 => + -- Try to have a good error message. + if Get_Subtype_Indication (Alias) = Null_Iir then + Error_Msg_Sem (+Name, "signature required for operature name"); + else + Error_Msg_Sem (+Name, "object name required"); + end if; + Name := Create_Error_Name (Name); + Set_Name (Alias, Name); + return Alias; when Iir_Kind_Error => pragma Assert (Flags.Flag_Force_Analysis); return Alias; -- cgit v1.2.3