aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_type.adb40
1 files changed, 19 insertions, 21 deletions
diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb
index 8579130..40de295 100644
--- a/gcc/ada/sem_type.adb
+++ b/gcc/ada/sem_type.adb
@@ -2649,34 +2649,32 @@ package body Sem_Type is
-- In case of concurrent types we can't use the Corresponding Record_Typ
-- to look for the interface because it is built by the expander (and
-- hence it is not always available). For this reason we traverse the
- -- list of interfaces (available in the parent of the concurrent type)
+ -- list of interfaces (available in the parent of the concurrent type).
if Is_Concurrent_Type (Target_Typ) then
- if Present (Interface_List (Parent (Target_Typ))) then
- declare
- AI : Node_Id;
+ declare
+ AI : Node_Id;
- begin
- AI := First (Interface_List (Parent (Target_Typ)));
+ begin
+ AI := First (Interface_List (Parent (Target_Typ)));
- -- The progenitor itself may be a subtype of an interface type.
+ -- The progenitor itself may be a subtype of an interface type
- while Present (AI) loop
- if Etype (AI) = Iface_Typ
- or else Base_Type (Etype (AI)) = Iface_Typ
- then
- return True;
+ while Present (AI) loop
+ if Etype (AI) = Iface_Typ
+ or else Base_Type (Etype (AI)) = Iface_Typ
+ then
+ return True;
- elsif Present (Interfaces (Etype (AI)))
- and then Iface_Present_In_Ancestor (Etype (AI))
- then
- return True;
- end if;
+ elsif Present (Interfaces (Etype (AI)))
+ and then Iface_Present_In_Ancestor (Etype (AI))
+ then
+ return True;
+ end if;
- Next (AI);
- end loop;
- end;
- end if;
+ Next (AI);
+ end loop;
+ end;
return False;
end if;