diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2020-12-24 10:20:13 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-05-03 05:28:24 -0400 |
commit | 5e546292235587230fc9aa11b131f60cb123f42b (patch) | |
tree | 848a837691d81981930dd55c729f3fdf21365288 /gcc | |
parent | 28dfe0cb0355695193af0a22ef6e499d589d8143 (diff) | |
download | gcc-5e546292235587230fc9aa11b131f60cb123f42b.zip gcc-5e546292235587230fc9aa11b131f60cb123f42b.tar.gz gcc-5e546292235587230fc9aa11b131f60cb123f42b.tar.bz2 |
[Ada] Fix attributes Version and Body_Version for concurrent units
gcc/ada/
* sem_attr.adb (Check_Program_Unit): Fix references to
Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to
Entity.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_attr.adb | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index a9d095d..98b0eca 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -2298,16 +2298,15 @@ package body Sem_Attr is begin if Is_Entity_Name (P) then declare - K : constant Entity_Kind := Ekind (Entity (P)); - T : constant Entity_Id := Etype (Entity (P)); - + E : constant Entity_Id := Entity (P); begin - if K in Concurrent_Kind - | Entry_Kind - | Generic_Unit_Kind - | Subprogram_Kind - | E_Package - or else (K = E_Variable and then Is_Concurrent_Type (T)) + if Ekind (E) in E_Protected_Type + | E_Task_Type + | Entry_Kind + | Generic_Unit_Kind + | Subprogram_Kind + | E_Package + or else Is_Single_Concurrent_Object (E) then return; end if; |