diff options
Diffstat (limited to 'src/vhdl/vhdl-sem_decls.adb')
-rw-r--r-- | src/vhdl/vhdl-sem_decls.adb | 10 |
1 files changed, 10 insertions, 0 deletions
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; |