mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 03:20:27 +08:00
einfo.ads (Has_Volatile_Full_Access): Rename into...
2015-05-22 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Has_Volatile_Full_Access): Rename into... (Is_Volatile_Full_Access): ...this. (Set_Has_Volatile_Full_Access): Rename into... (Set_Is_Volatile_Full_Access): ...this. * einfo.adb (Has_Volatile_Full_Access): Rename into... (Is_Volatile_Full_Access): ...this. (Set_Has_Volatile_Full_Access): Rename into... (Set_Is_Volatile_Full_Access): ...this. (Is_Atomic_Or_VFA): Adjust to above renaming. * errout.adb (Special_Msg_Delete): Likewise. * exp_pakd.adb (Install_PAT): Likewise. * freeze.adb (Freeze_Array_Type): Likewise. * sem_ch8.adb (Analyze_Object_Renaming): Likewise. * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise. (Inherit_Aspects_At_Freeze_Point): Likewise. * sem_prag.adb (Set_Atomic_VFA): Likewise. (Process_Atomic_Independent_Shared_Volatile): Likewise. * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise. From-SVN: r223561
This commit is contained in:
parent
f280dd8f6d
commit
57abdadd18
@ -1,3 +1,24 @@
|
||||
2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* einfo.ads (Has_Volatile_Full_Access): Rename into...
|
||||
(Is_Volatile_Full_Access): ...this.
|
||||
(Set_Has_Volatile_Full_Access): Rename into...
|
||||
(Set_Is_Volatile_Full_Access): ...this.
|
||||
* einfo.adb (Has_Volatile_Full_Access): Rename into...
|
||||
(Is_Volatile_Full_Access): ...this.
|
||||
(Set_Has_Volatile_Full_Access): Rename into...
|
||||
(Set_Is_Volatile_Full_Access): ...this.
|
||||
(Is_Atomic_Or_VFA): Adjust to above renaming.
|
||||
* errout.adb (Special_Msg_Delete): Likewise.
|
||||
* exp_pakd.adb (Install_PAT): Likewise.
|
||||
* freeze.adb (Freeze_Array_Type): Likewise.
|
||||
* sem_ch8.adb (Analyze_Object_Renaming): Likewise.
|
||||
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
|
||||
(Inherit_Aspects_At_Freeze_Point): Likewise.
|
||||
* sem_prag.adb (Set_Atomic_VFA): Likewise.
|
||||
(Process_Atomic_Independent_Shared_Volatile): Likewise.
|
||||
* sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.
|
||||
|
||||
2015-05-22 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
|
||||
|
@ -592,7 +592,7 @@ package body Einfo is
|
||||
-- Has_Nested_Subprogram Flag282
|
||||
-- Is_Uplevel_Referenced_Entity Flag283
|
||||
-- Is_Unimplemented Flag284
|
||||
-- Has_Volatile_Full_Access Flag285
|
||||
-- Is_Volatile_Full_Access Flag285
|
||||
-- Needs_Typedef Flag286
|
||||
|
||||
-- (unused) Flag253
|
||||
@ -1856,11 +1856,6 @@ package body Einfo is
|
||||
return Flag87 (Implementation_Base_Type (Id));
|
||||
end Has_Volatile_Components;
|
||||
|
||||
function Has_Volatile_Full_Access (Id : E) return B is
|
||||
begin
|
||||
return Flag285 (Id);
|
||||
end Has_Volatile_Full_Access;
|
||||
|
||||
function Has_Xref_Entry (Id : E) return B is
|
||||
begin
|
||||
return Flag182 (Id);
|
||||
@ -2528,6 +2523,11 @@ package body Einfo is
|
||||
end if;
|
||||
end Is_Volatile;
|
||||
|
||||
function Is_Volatile_Full_Access (Id : E) return B is
|
||||
begin
|
||||
return Flag285 (Id);
|
||||
end Is_Volatile_Full_Access;
|
||||
|
||||
function Itype_Printed (Id : E) return B is
|
||||
begin
|
||||
pragma Assert (Is_Itype (Id));
|
||||
@ -4758,11 +4758,6 @@ package body Einfo is
|
||||
Set_Flag87 (Id, V);
|
||||
end Set_Has_Volatile_Components;
|
||||
|
||||
procedure Set_Has_Volatile_Full_Access (Id : E; V : B := True) is
|
||||
begin
|
||||
Set_Flag285 (Id, V);
|
||||
end Set_Has_Volatile_Full_Access;
|
||||
|
||||
procedure Set_Has_Xref_Entry (Id : E; V : B := True) is
|
||||
begin
|
||||
Set_Flag182 (Id, V);
|
||||
@ -5498,6 +5493,11 @@ package body Einfo is
|
||||
Set_Flag16 (Id, V);
|
||||
end Set_Is_Volatile;
|
||||
|
||||
procedure Set_Is_Volatile_Full_Access (Id : E; V : B := True) is
|
||||
begin
|
||||
Set_Flag285 (Id, V);
|
||||
end Set_Is_Volatile_Full_Access;
|
||||
|
||||
procedure Set_Itype_Printed (Id : E; V : B := True) is
|
||||
begin
|
||||
pragma Assert (Is_Itype (Id));
|
||||
@ -7335,7 +7335,7 @@ package body Einfo is
|
||||
|
||||
function Is_Atomic_Or_VFA (Id : E) return B is
|
||||
begin
|
||||
return Is_Atomic (Id) or else Has_Volatile_Full_Access (Id);
|
||||
return Is_Atomic (Id) or else Is_Volatile_Full_Access (Id);
|
||||
end Is_Atomic_Or_VFA;
|
||||
|
||||
------------------
|
||||
@ -8750,7 +8750,6 @@ package body Einfo is
|
||||
W ("Has_Uplevel_Reference", Flag215 (Id));
|
||||
W ("Has_Visible_Refinement", Flag263 (Id));
|
||||
W ("Has_Volatile_Components", Flag87 (Id));
|
||||
W ("Has_Volatile_Full_Access", Flag285 (Id));
|
||||
W ("Has_Xref_Entry", Flag182 (Id));
|
||||
W ("In_Package_Body", Flag48 (Id));
|
||||
W ("In_Private_Part", Flag45 (Id));
|
||||
@ -8865,6 +8864,7 @@ package body Einfo is
|
||||
W ("Is_Visible_Formal", Flag206 (Id));
|
||||
W ("Is_Visible_Lib_Unit", Flag116 (Id));
|
||||
W ("Is_Volatile", Flag16 (Id));
|
||||
W ("Is_Volatile_Full_Access", Flag285 (Id));
|
||||
W ("Itype_Printed", Flag202 (Id));
|
||||
W ("Kill_Elaboration_Checks", Flag32 (Id));
|
||||
W ("Kill_Range_Checks", Flag33 (Id));
|
||||
|
@ -2047,12 +2047,6 @@ package Einfo is
|
||||
-- type the pragma will be chained to the rep item chain of the first
|
||||
-- subtype in the usual manner.
|
||||
|
||||
-- Has_Volatile_Full_Access (Flag285)
|
||||
-- Defined in all type entities, and also in constants, components and
|
||||
-- variables. Set if a pragma Volatile_Full_Access applies to the entity.
|
||||
-- In the case of private and incomplete types, this flag is set in
|
||||
-- both the partial view and the full view.
|
||||
|
||||
-- Has_Xref_Entry (Flag182)
|
||||
-- Defined in all entities. Set if an entity has an entry in the Xref
|
||||
-- information generated in ali files. This is true for all source
|
||||
@ -3192,6 +3186,12 @@ package Einfo is
|
||||
-- optimizations on volatile objects should test Treat_As_Volatile
|
||||
-- rather than testing this flag.
|
||||
|
||||
-- Is_Volatile_Full_Access (Flag285)
|
||||
-- Defined in all type entities, and also in constants, components and
|
||||
-- variables. Set if a pragma Volatile_Full_Access applies to the entity.
|
||||
-- In the case of private and incomplete types, this flag is set in
|
||||
-- both the partial view and the full view.
|
||||
|
||||
-- Is_Wrapper_Package (synthesized)
|
||||
-- Defined in package entities. Indicates that the package has been
|
||||
-- created as a wrapper for a subprogram instantiation.
|
||||
@ -5444,7 +5444,6 @@ package Einfo is
|
||||
-- Has_Task (Flag30) (base type only)
|
||||
-- Has_Unchecked_Union (Flag123) (base type only)
|
||||
-- Has_Volatile_Components (Flag87) (base type only)
|
||||
-- Has_Volatile_Full_Access (Flag285)
|
||||
-- In_Use (Flag8)
|
||||
-- Is_Abstract_Type (Flag146)
|
||||
-- Is_Asynchronous (Flag81)
|
||||
@ -5462,6 +5461,7 @@ package Einfo is
|
||||
-- Is_RACW_Stub_Type (Flag244)
|
||||
-- Is_Unsigned_Type (Flag144)
|
||||
-- Is_Volatile (Flag16)
|
||||
-- Is_Volatile_Full_Access (Flag285)
|
||||
-- Itype_Printed (Flag202) (itypes only)
|
||||
-- Known_To_Have_Preelab_Init (Flag207)
|
||||
-- May_Inherit_Delayed_Rep_Aspects (Flag262)
|
||||
@ -5630,12 +5630,12 @@ package Einfo is
|
||||
-- Related_Type (Node27)
|
||||
-- Has_Biased_Representation (Flag139)
|
||||
-- Has_Per_Object_Constraint (Flag154)
|
||||
-- Has_Volatile_Full_Access (Flag285)
|
||||
-- Is_Atomic (Flag85)
|
||||
-- Is_Independent (Flag268)
|
||||
-- Is_Return_Object (Flag209)
|
||||
-- Is_Tag (Flag78)
|
||||
-- Is_Volatile (Flag16)
|
||||
-- Is_Volatile_Full_Access (Flag285)
|
||||
-- Treat_As_Volatile (Flag41)
|
||||
-- Is_Atomic_Or_VFA (synth)
|
||||
-- Next_Component (synth)
|
||||
@ -5671,7 +5671,6 @@ package Einfo is
|
||||
-- Has_Size_Clause (Flag29)
|
||||
-- Has_Thunks (Flag228) (constants only)
|
||||
-- Has_Volatile_Components (Flag87)
|
||||
-- Has_Volatile_Full_Access (Flag285)
|
||||
-- Is_Atomic (Flag85)
|
||||
-- Is_Eliminated (Flag124)
|
||||
-- Is_Independent (Flag268)
|
||||
@ -5680,6 +5679,7 @@ package Einfo is
|
||||
-- Is_True_Constant (Flag163)
|
||||
-- Is_Uplevel_Referenced_Entity (Flag283)
|
||||
-- Is_Volatile (Flag16)
|
||||
-- Is_Volatile_Full_Access (Flag285)
|
||||
-- Optimize_Alignment_Space (Flag241) (constants only)
|
||||
-- Optimize_Alignment_Time (Flag242) (constants only)
|
||||
-- Stores_Attribute_Old_Prefix (Flag270) (constants only)
|
||||
@ -6406,7 +6406,6 @@ package Einfo is
|
||||
-- Has_Initial_Value (Flag219)
|
||||
-- Has_Size_Clause (Flag29)
|
||||
-- Has_Volatile_Components (Flag87)
|
||||
-- Has_Volatile_Full_Access (Flag285)
|
||||
-- Is_Atomic (Flag85)
|
||||
-- Is_Eliminated (Flag124)
|
||||
-- Is_Independent (Flag268)
|
||||
@ -6417,6 +6416,7 @@ package Einfo is
|
||||
-- Is_True_Constant (Flag163)
|
||||
-- Is_Uplevel_Referenced_Entity (Flag283)
|
||||
-- Is_Volatile (Flag16)
|
||||
-- Is_Volatile_Full_Access (Flag285)
|
||||
-- OK_To_Rename (Flag247)
|
||||
-- Optimize_Alignment_Space (Flag241)
|
||||
-- Optimize_Alignment_Time (Flag242)
|
||||
@ -6859,7 +6859,6 @@ package Einfo is
|
||||
function Has_Uplevel_Reference (Id : E) return B;
|
||||
function Has_Visible_Refinement (Id : E) return B;
|
||||
function Has_Volatile_Components (Id : E) return B;
|
||||
function Has_Volatile_Full_Access (Id : E) return B;
|
||||
function Has_Xref_Entry (Id : E) return B;
|
||||
function Hiding_Loop_Variable (Id : E) return E;
|
||||
function Homonym (Id : E) return E;
|
||||
@ -6978,6 +6977,7 @@ package Einfo is
|
||||
function Is_Visible_Formal (Id : E) return B;
|
||||
function Is_Visible_Lib_Unit (Id : E) return B;
|
||||
function Is_Volatile (Id : E) return B;
|
||||
function Is_Volatile_Full_Access (Id : E) return B;
|
||||
function Itype_Printed (Id : E) return B;
|
||||
function Kill_Elaboration_Checks (Id : E) return B;
|
||||
function Kill_Range_Checks (Id : E) return B;
|
||||
@ -7513,7 +7513,6 @@ package Einfo is
|
||||
procedure Set_Has_Uplevel_Reference (Id : E; V : B := True);
|
||||
procedure Set_Has_Visible_Refinement (Id : E; V : B := True);
|
||||
procedure Set_Has_Volatile_Components (Id : E; V : B := True);
|
||||
procedure Set_Has_Volatile_Full_Access (Id : E; V : B := True);
|
||||
procedure Set_Has_Xref_Entry (Id : E; V : B := True);
|
||||
procedure Set_Hiding_Loop_Variable (Id : E; V : E);
|
||||
procedure Set_Homonym (Id : E; V : E);
|
||||
@ -7637,6 +7636,7 @@ package Einfo is
|
||||
procedure Set_Is_Visible_Formal (Id : E; V : B := True);
|
||||
procedure Set_Is_Visible_Lib_Unit (Id : E; V : B := True);
|
||||
procedure Set_Is_Volatile (Id : E; V : B := True);
|
||||
procedure Set_Is_Volatile_Full_Access (Id : E; V : B := True);
|
||||
procedure Set_Itype_Printed (Id : E; V : B := True);
|
||||
procedure Set_Kill_Elaboration_Checks (Id : E; V : B := True);
|
||||
procedure Set_Kill_Range_Checks (Id : E; V : B := True);
|
||||
@ -8287,7 +8287,6 @@ package Einfo is
|
||||
pragma Inline (Has_Uplevel_Reference);
|
||||
pragma Inline (Has_Visible_Refinement);
|
||||
pragma Inline (Has_Volatile_Components);
|
||||
pragma Inline (Has_Volatile_Full_Access);
|
||||
pragma Inline (Has_Xref_Entry);
|
||||
pragma Inline (Hiding_Loop_Variable);
|
||||
pragma Inline (Homonym);
|
||||
@ -8450,6 +8449,7 @@ package Einfo is
|
||||
pragma Inline (Is_Valued_Procedure);
|
||||
pragma Inline (Is_Visible_Formal);
|
||||
pragma Inline (Is_Visible_Lib_Unit);
|
||||
pragma Inline (Is_Volatile_Full_Access);
|
||||
pragma Inline (Itype_Printed);
|
||||
pragma Inline (Kill_Elaboration_Checks);
|
||||
pragma Inline (Kill_Range_Checks);
|
||||
@ -8786,7 +8786,6 @@ package Einfo is
|
||||
pragma Inline (Set_Has_Unknown_Discriminants);
|
||||
pragma Inline (Set_Has_Visible_Refinement);
|
||||
pragma Inline (Set_Has_Volatile_Components);
|
||||
pragma Inline (Set_Has_Volatile_Full_Access);
|
||||
pragma Inline (Set_Has_Xref_Entry);
|
||||
pragma Inline (Set_Hiding_Loop_Variable);
|
||||
pragma Inline (Set_Homonym);
|
||||
@ -8909,6 +8908,7 @@ package Einfo is
|
||||
pragma Inline (Set_Is_Visible_Formal);
|
||||
pragma Inline (Set_Is_Visible_Lib_Unit);
|
||||
pragma Inline (Set_Is_Volatile);
|
||||
pragma Inline (Set_Is_Volatile_Full_Access);
|
||||
pragma Inline (Set_Itype_Printed);
|
||||
pragma Inline (Set_Kill_Elaboration_Checks);
|
||||
pragma Inline (Set_Kill_Range_Checks);
|
||||
|
@ -3163,7 +3163,7 @@ package body Errout is
|
||||
|
||||
elsif Msg = "volatile full access to & cannot be guaranteed" then
|
||||
if Is_Type (E)
|
||||
and then Has_Volatile_Full_Access (E)
|
||||
and then Is_Volatile_Full_Access (E)
|
||||
and then No (Get_Rep_Pragma (E, Name_Volatile_Full_Access))
|
||||
then
|
||||
return True;
|
||||
|
@ -537,11 +537,11 @@ package body Exp_Pakd is
|
||||
|
||||
-- Propagate representation aspects
|
||||
|
||||
Set_Is_Atomic (PAT, Is_Atomic (Typ));
|
||||
Set_Is_Independent (PAT, Is_Independent (Typ));
|
||||
Set_Has_Volatile_Full_Access (PAT, Has_Volatile_Full_Access (Typ));
|
||||
Set_Is_Volatile (PAT, Is_Volatile (Typ));
|
||||
Set_Treat_As_Volatile (PAT, Treat_As_Volatile (Typ));
|
||||
Set_Is_Atomic (PAT, Is_Atomic (Typ));
|
||||
Set_Is_Independent (PAT, Is_Independent (Typ));
|
||||
Set_Is_Volatile (PAT, Is_Volatile (Typ));
|
||||
Set_Is_Volatile_Full_Access (PAT, Is_Volatile_Full_Access (Typ));
|
||||
Set_Treat_As_Volatile (PAT, Treat_As_Volatile (Typ));
|
||||
|
||||
-- For a non-bit-packed array, propagate reverse storage order
|
||||
-- flag from original base type to packed array base type.
|
||||
|
@ -2503,7 +2503,7 @@ package body Freeze is
|
||||
then
|
||||
Complain_CS ("atomic");
|
||||
|
||||
elsif Has_Volatile_Full_Access (Ctyp) then
|
||||
elsif Is_Volatile_Full_Access (Ctyp) then
|
||||
Complain_CS ("volatile full access");
|
||||
end if;
|
||||
end Alias_Atomic_Check;
|
||||
|
@ -968,8 +968,8 @@ package body Sem_Ch13 is
|
||||
-- Volatile_Full_Access
|
||||
|
||||
when Aspect_Volatile_Full_Access =>
|
||||
if Has_Volatile_Full_Access (P) then
|
||||
Set_Has_Volatile_Full_Access (E);
|
||||
if Is_Volatile_Full_Access (P) then
|
||||
Set_Is_Volatile_Full_Access (E);
|
||||
end if;
|
||||
|
||||
-- Volatile_Components
|
||||
@ -1065,7 +1065,7 @@ package body Sem_Ch13 is
|
||||
end if;
|
||||
|
||||
when Aspect_Volatile_Full_Access =>
|
||||
if not Has_Volatile_Full_Access (Par) then
|
||||
if not Is_Volatile_Full_Access (Par) then
|
||||
return;
|
||||
end if;
|
||||
|
||||
@ -11090,8 +11090,8 @@ package body Sem_Ch13 is
|
||||
(Get_Rep_Item (Typ, Name_Atomic, Name_Shared))
|
||||
then
|
||||
Set_Is_Atomic (Typ);
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
Set_Is_Volatile (Typ);
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
end if;
|
||||
|
||||
-- Convention
|
||||
@ -11171,8 +11171,8 @@ package body Sem_Ch13 is
|
||||
and then Is_Pragma_Or_Corr_Pragma_Present_In_Rep_Item
|
||||
(Get_Rep_Item (Typ, Name_Volatile))
|
||||
then
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
Set_Is_Volatile (Typ);
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
end if;
|
||||
|
||||
-- Volatile_Full_Access
|
||||
@ -11182,9 +11182,9 @@ package body Sem_Ch13 is
|
||||
and then Is_Pragma_Or_Corr_Pragma_Present_In_Rep_Item
|
||||
(Get_Rep_Item (Typ, Name_Volatile_Full_Access))
|
||||
then
|
||||
Set_Has_Volatile_Full_Access (Typ);
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
Set_Is_Volatile_Full_Access (Typ);
|
||||
Set_Is_Volatile (Typ);
|
||||
Set_Treat_As_Volatile (Typ);
|
||||
end if;
|
||||
|
||||
-- Inheritance for derived types only
|
||||
|
@ -919,9 +919,9 @@ package body Sem_Ch8 is
|
||||
P : constant Node_Id := Prefix (Nam);
|
||||
begin
|
||||
if Is_Entity_Name (P) then
|
||||
if Has_Volatile_Full_Access (Entity (P))
|
||||
if Is_Volatile_Full_Access (Entity (P))
|
||||
or else
|
||||
Has_Volatile_Full_Access (Etype (P))
|
||||
Is_Volatile_Full_Access (Etype (P))
|
||||
then
|
||||
Error_Msg_N
|
||||
("cannot rename component of Volatile_Full_Access "
|
||||
@ -1366,10 +1366,10 @@ package body Sem_Ch8 is
|
||||
-- Also copy settings of Atomic/Independent/Volatile_Full_Access
|
||||
|
||||
if Is_Entity_Name (Nam) then
|
||||
Set_Is_Atomic (Id, Is_Atomic (Entity (Nam)));
|
||||
Set_Is_Independent (Id, Is_Independent (Entity (Nam)));
|
||||
Set_Has_Volatile_Full_Access (Id,
|
||||
Has_Volatile_Full_Access (Entity (Nam)));
|
||||
Set_Is_Atomic (Id, Is_Atomic (Entity (Nam)));
|
||||
Set_Is_Independent (Id, Is_Independent (Entity (Nam)));
|
||||
Set_Is_Volatile_Full_Access (Id,
|
||||
Is_Volatile_Full_Access (Entity (Nam)));
|
||||
end if;
|
||||
|
||||
-- Treat as volatile if we just set the Volatile flag
|
||||
|
@ -5843,7 +5843,7 @@ package body Sem_Prag is
|
||||
Utyp : Entity_Id;
|
||||
|
||||
procedure Set_Atomic_VFA (E : Entity_Id);
|
||||
-- Set given type as Is_Atomic or Has_Volatile_Full_Access. Also, if
|
||||
-- Set given type as Is_Atomic or Is_Volatile_Full_Access. Also, if
|
||||
-- no explicit alignment was given, set alignment to unknown, since
|
||||
-- back end knows what the alignment requirements are for atomic and
|
||||
-- full access arrays. Note: this is necessary for derived types.
|
||||
@ -5855,7 +5855,7 @@ package body Sem_Prag is
|
||||
procedure Set_Atomic_VFA (E : Entity_Id) is
|
||||
begin
|
||||
if Prag_Id = Pragma_Volatile_Full_Access then
|
||||
Set_Has_Volatile_Full_Access (E);
|
||||
Set_Is_Volatile_Full_Access (E);
|
||||
else
|
||||
Set_Is_Atomic (E);
|
||||
end if;
|
||||
@ -5889,7 +5889,7 @@ package body Sem_Prag is
|
||||
-- Check Atomic and VFA used together
|
||||
|
||||
if (Is_Atomic (E) and then Prag_Id = Pragma_Volatile_Full_Access)
|
||||
or else (Has_Volatile_Full_Access (E)
|
||||
or else (Is_Volatile_Full_Access (E)
|
||||
and then (Prag_Id = Pragma_Atomic
|
||||
or else
|
||||
Prag_Id = Pragma_Shared))
|
||||
@ -5999,7 +5999,7 @@ package body Sem_Prag is
|
||||
Prag_Id = Pragma_Volatile_Full_Access
|
||||
then
|
||||
if Prag_Id = Pragma_Volatile_Full_Access then
|
||||
Set_Has_Volatile_Full_Access (E);
|
||||
Set_Is_Volatile_Full_Access (E);
|
||||
else
|
||||
Set_Is_Atomic (E);
|
||||
end if;
|
||||
@ -6048,7 +6048,7 @@ package body Sem_Prag is
|
||||
Get_Source_File_Index (Sloc (Utyp))
|
||||
then
|
||||
if Prag_Id = Pragma_Volatile_Full_Access then
|
||||
Set_Has_Volatile_Full_Access (Utyp);
|
||||
Set_Is_Volatile_Full_Access (Utyp);
|
||||
else
|
||||
Set_Is_Atomic (Utyp);
|
||||
end if;
|
||||
|
@ -10285,9 +10285,9 @@ package body Sem_Util is
|
||||
return Is_Atomic_Object (N)
|
||||
or else (Is_Object_Reference (N)
|
||||
and then Is_Entity_Name (N)
|
||||
and then (Has_Volatile_Full_Access (Entity (N))
|
||||
and then (Is_Volatile_Full_Access (Entity (N))
|
||||
or else
|
||||
Has_Volatile_Full_Access (Etype (Entity (N)))));
|
||||
Is_Volatile_Full_Access (Etype (Entity (N)))));
|
||||
end Is_Atomic_Or_VFA_Object;
|
||||
|
||||
-------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user