diff options
-rw-r--r-- | src/vhdl/sem_names.adb | 4 | ||||
-rw-r--r-- | src/vhdl/sem_types.adb | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/vhdl/sem_names.adb b/src/vhdl/sem_names.adb index 0190ee1a4..b96e357c7 100644 --- a/src/vhdl/sem_names.adb +++ b/src/vhdl/sem_names.adb @@ -2017,7 +2017,9 @@ package body Sem_Names is | Iir_Kind_Use_Clause => null; when others => - Error_Kind ("sem_as_protected_item", Method); + -- Declarations not allowed in protected types. + -- Just ignore them. + null; end case; Method := Get_Chain (Method); end loop; diff --git a/src/vhdl/sem_types.adb b/src/vhdl/sem_types.adb index 45f67be51..528a672ed 100644 --- a/src/vhdl/sem_types.adb +++ b/src/vhdl/sem_types.adb @@ -597,9 +597,14 @@ package body Sem_Types is end if; end if; end; + when Iir_Kind_Anonymous_Type_Declaration => + -- This is an error, but an anonynmous type declaration is + -- followed by a subtype declaration, which is also an error. + -- Avoid duplicate messages. + null; when others => Error_Msg_Sem - (+El, "%n are not allowed in protected type declaration", + (+El, "%n is not allowed in protected type declaration", +El); end case; El := Get_Chain (El); |