diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2024-01-16 13:05:22 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2024-05-07 09:55:57 +0200 |
commit | a1e6fdc0773bd9d7e7a2e2a9135c2c6c982b67af (patch) | |
tree | 980507266e30f709f97afe951c80f5173ef194d5 /gcc/ada | |
parent | e8bcc47f25e59683194446c45a68442e1702259b (diff) | |
download | gcc-a1e6fdc0773bd9d7e7a2e2a9135c2c6c982b67af.zip gcc-a1e6fdc0773bd9d7e7a2e2a9135c2c6c982b67af.tar.gz gcc-a1e6fdc0773bd9d7e7a2e2a9135c2c6c982b67af.tar.bz2 |
ada: Reduce scope in the analysis of access attributes
Code cleanup; semantics is unaffected.
gcc/ada/
* sem_attr.adb (Analyze_Access_Attribute): Move code to IF
branch where its result is used.
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/sem_attr.adb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index c17f673..6140cc0 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -982,15 +982,16 @@ package body Sem_Attr is if Is_Entity_Name (P) then Typ := Entity (P); - -- The reference may appear in an aggregate that has been expanded - -- into a loop. Locate scope of type definition, if any. + if Is_Type (Typ) then - Scop := Current_Scope; - while Ekind (Scop) = E_Loop loop - Scop := Scope (Scop); - end loop; + -- The reference may appear in an aggregate that has been + -- expanded into a loop. Locate scope of type definition, + -- if any. - if Is_Type (Typ) then + Scop := Current_Scope; + while Ekind (Scop) = E_Loop loop + Scop := Scope (Scop); + end loop; -- OK if we are within the scope of a limited type -- let's mark the component as having per object constraint |