Rewrite the sequence of:
if V = Enum_1
or else V = Enum_2
or else V in Enum_R
...
with a membership test.
gcc/ada/ChangeLog:
* sem_util.adb (Enclosing_Declaration): Refactor membership test.
begin
while Present (Decl)
- and then not (Nkind (Decl) in N_Declaration
- or else
- Nkind (Decl) in N_Later_Decl_Item
- or else
- Nkind (Decl) in N_Renaming_Declaration
- or else
- Nkind (Decl) = N_Number_Declaration)
+ and then not (Nkind (Decl) in
+ N_Declaration
+ | N_Later_Decl_Item
+ | N_Renaming_Declaration
+ | N_Number_Declaration)
loop
Decl := Parent (Decl);
end loop;