Fix wrong assignment of aggregate to full-access component
This is a regression present on the mainline: the compiler (front-end) fails to assign an aggregate to a full-access component (i.e. Atomic or VFA) as a whole if the type of the component is not full access itself. gcc/ada/ PR ada/99802 * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object on the name of an N_Assignment_Statement to spot full access.
This commit is contained in:
parent
af739c8797
commit
471babd886
@ -1754,8 +1754,7 @@ package body Freeze is
|
||||
Typ := Etype (Name (Par));
|
||||
|
||||
if not Is_Full_Access (Typ)
|
||||
and then not (Is_Entity_Name (Name (Par))
|
||||
and then Is_Full_Access (Entity (Name (Par))))
|
||||
and then not Is_Full_Access_Object (Name (Par))
|
||||
then
|
||||
return False;
|
||||
end if;
|
||||
|
Loading…
Reference in New Issue
Block a user