From 0ebc109a5ea094a942ce928f6e9d89a682ce9971 Mon Sep 17 00:00:00 2001 From: Vincent Pucci Date: Mon, 6 Aug 2012 10:12:10 +0200 Subject: [PATCH] re PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke Ada on multiple platforms) 2012-08-06 Vincent Pucci PR ada/54125 * exp_attr.adb (Expand_N_Attribute_Reference): Expand new Atomic_Always_Lock_Free attribute. * sem_attr.adb (Analyze_Attribute): Analyze new Atomic_Always_Lock_Free attribute. (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free attribute. * sem_ch9.adb (Allows_Lock_Free_Implementation): Support_Atomic_Primitives check replaces previous erroneous size check. * sem_util.adb, sem_util.ads (Support_Atomic_Primitives): New routine. * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and new attribute Attribute_Atomic_Always_Lock_Free defined. * s-atopri.adb: Support_Atomic_Primitives checks replaced by Atomic_Always_Lock_Free queries. * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads, system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads, system-linux-ppc.ads, system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads, system-linux-sparc.ads, system-lynxos178-ppc.ads, system-lynxos-ppc.ads, system-mingw.ads, system-vxworks-arm.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms_64.ads, system-vxworks-m68k.ads, system-vxworks-mips.ads, system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag Support_Atomic_Primitives removed. From-SVN: r190163 --- gcc/ada/exp_attr.adb | 15 +----- gcc/ada/s-atopri.adb | 16 +++--- gcc/ada/sem_attr.adb | 78 ++++++++++++++++++++++++++---- gcc/ada/sem_ch9.adb | 46 +++++------------- gcc/ada/sem_util.adb | 41 ++++++++++++++++ gcc/ada/sem_util.ads | 4 ++ gcc/ada/snames.ads-tmpl | 2 + gcc/ada/system-aix.ads | 1 - gcc/ada/system-aix64.ads | 1 - gcc/ada/system-darwin-ppc.ads | 1 - gcc/ada/system-hpux.ads | 1 - gcc/ada/system-linux-alpha.ads | 1 - gcc/ada/system-linux-hppa.ads | 1 - gcc/ada/system-linux-ppc.ads | 1 - gcc/ada/system-linux-s390.ads | 1 - gcc/ada/system-linux-s390x.ads | 1 - gcc/ada/system-linux-sh4.ads | 1 - gcc/ada/system-linux-sparc.ads | 1 - gcc/ada/system-lynxos-ppc.ads | 1 - gcc/ada/system-mingw.ads | 1 - gcc/ada/system-solaris-sparc.ads | 1 - gcc/ada/system-solaris-sparcv9.ads | 1 - gcc/ada/system-vms_64.ads | 1 - gcc/ada/system-vxworks-arm.ads | 1 - gcc/ada/system-vxworks-m68k.ads | 1 - gcc/ada/system-vxworks-mips.ads | 1 - gcc/ada/system-vxworks-ppc.ads | 1 - gcc/ada/system-vxworks-sparcv9.ads | 1 - 28 files changed, 137 insertions(+), 86 deletions(-) diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb index ae7def7e3bd2..6516d3bc1995 100644 --- a/gcc/ada/exp_attr.adb +++ b/gcc/ada/exp_attr.adb @@ -3100,19 +3100,6 @@ package body Exp_Attr is end if; end; - --------------- - -- Lock_Free -- - --------------- - - -- Rewrite the attribute reference with the value of Uses_Lock_Free - - when Attribute_Lock_Free => Lock_Free : declare - V : constant Entity_Id := Boolean_Literals (Uses_Lock_Free (Ptyp)); - begin - Rewrite (N, New_Occurrence_Of (V, Loc)); - Analyze_And_Resolve (N, Standard_Boolean); - end Lock_Free; - ------------- -- Machine -- ------------- @@ -6018,6 +6005,7 @@ package body Exp_Attr is when Attribute_Abort_Signal | Attribute_Address_Size | + Attribute_Atomic_Always_Lock_Free | Attribute_Base | Attribute_Class | Attribute_Compiler_Version | @@ -6035,6 +6023,7 @@ package body Exp_Attr is Attribute_Has_Tagged_Values | Attribute_Large | Attribute_Last_Valid | + Attribute_Lock_Free | Attribute_Machine_Emax | Attribute_Machine_Emin | Attribute_Machine_Mantissa | diff --git a/gcc/ada/s-atopri.adb b/gcc/ada/s-atopri.adb index 50e7346f80ee..145cbb6c9dbe 100644 --- a/gcc/ada/s-atopri.adb +++ b/gcc/ada/s-atopri.adb @@ -37,7 +37,7 @@ package body System.Atomic_Primitives is function Lock_Free_Read_8 (Ptr : Address) return uint8 is begin - if Support_Atomic_Primitives then + if uint8'Atomic_Always_Lock_Free then return Atomic_Load_8 (Ptr, Acquire); else raise Program_Error; @@ -50,7 +50,7 @@ package body System.Atomic_Primitives is function Lock_Free_Read_16 (Ptr : Address) return uint16 is begin - if Support_Atomic_Primitives then + if uint16'Atomic_Always_Lock_Free then return Atomic_Load_16 (Ptr, Acquire); else raise Program_Error; @@ -63,7 +63,7 @@ package body System.Atomic_Primitives is function Lock_Free_Read_32 (Ptr : Address) return uint32 is begin - if Support_Atomic_Primitives then + if uint32'Atomic_Always_Lock_Free then return Atomic_Load_32 (Ptr, Acquire); else raise Program_Error; @@ -76,7 +76,7 @@ package body System.Atomic_Primitives is function Lock_Free_Read_64 (Ptr : Address) return uint64 is begin - if Support_Atomic_Primitives then + if uint64'Atomic_Always_Lock_Free then return Atomic_Load_64 (Ptr, Acquire); else raise Program_Error; @@ -97,7 +97,7 @@ package body System.Atomic_Primitives is begin if Expected /= Desired then - if Support_Atomic_Primitives then + if uint8'Atomic_Always_Lock_Free then Actual := Sync_Compare_And_Swap_8 (Ptr, Expected, Desired); else raise Program_Error; @@ -126,7 +126,7 @@ package body System.Atomic_Primitives is begin if Expected /= Desired then - if Support_Atomic_Primitives then + if uint16'Atomic_Always_Lock_Free then Actual := Sync_Compare_And_Swap_16 (Ptr, Expected, Desired); else raise Program_Error; @@ -155,7 +155,7 @@ package body System.Atomic_Primitives is begin if Expected /= Desired then - if Support_Atomic_Primitives then + if uint32'Atomic_Always_Lock_Free then Actual := Sync_Compare_And_Swap_32 (Ptr, Expected, Desired); else raise Program_Error; @@ -184,7 +184,7 @@ package body System.Atomic_Primitives is begin if Expected /= Desired then - if Support_Atomic_Primitives then + if uint64'Atomic_Always_Lock_Free then Actual := Sync_Compare_And_Swap_64 (Ptr, Expected, Desired); else raise Program_Error; diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 35adaaf6a613..b2af6ae85b84 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -2573,6 +2573,15 @@ package body Sem_Attr is Set_Etype (N, RTE (RE_AST_Handler)); end AST_Entry; + ----------------------------- + -- Atomic_Always_Lock_Free -- + ----------------------------- + + when Attribute_Atomic_Always_Lock_Free => + Check_E0; + Check_Type; + Set_Etype (N, Standard_Boolean); + ---------- -- Base -- ---------- @@ -5956,6 +5965,13 @@ package body Sem_Attr is return; end if; + -- For Lock_Free, we apply the attribute to the type of the object. + -- This is allowed since we have already verified that the type is a + -- protected type. + + elsif Id = Attribute_Lock_Free then + P_Entity := Etype (P); + -- No other attributes for objects are folded else @@ -6021,10 +6037,13 @@ package body Sem_Attr is -- Definite must be folded if the prefix is not a generic type, -- that is to say if we are within an instantiation. Same processing - -- applies to the GNAT attributes Has_Discriminants, Type_Class, - -- Has_Tagged_Value, and Unconstrained_Array. + -- applies to the GNAT attributes Atomic_Always_Lock_Free, + -- Has_Discriminants, Lock_Free, Type_Class, Has_Tagged_Value, and + -- Unconstrained_Array. - elsif (Id = Attribute_Definite + elsif (Id = Attribute_Atomic_Always_Lock_Free + or else + Id = Attribute_Definite or else Id = Attribute_Has_Access_Values or else @@ -6032,6 +6051,8 @@ package body Sem_Attr is or else Id = Attribute_Has_Tagged_Values or else + Id = Attribute_Lock_Free + or else Id = Attribute_Type_Class or else Id = Attribute_Unconstrained_Array @@ -6136,16 +6157,19 @@ package body Sem_Attr is -- since we can't do anything with unconstrained arrays. In addition, -- only the First, Last and Length attributes are possibly static. - -- Definite, Has_Access_Values, Has_Discriminants, Has_Tagged_Values, - -- Type_Class, and Unconstrained_Array are again exceptions, because - -- they apply as well to unconstrained types. + -- Atomic_Always_Lock_Free, Definite, Has_Access_Values, + -- Has_Discriminants, Has_Tagged_Values, Lock_Free, Type_Class, and + -- Unconstrained_Array are again exceptions, because they apply as well + -- to unconstrained types. -- In addition Component_Size is an exception since it is possibly -- foldable, even though it is never static, and it does apply to -- unconstrained arrays. Furthermore, it is essential to fold this -- in the packed case, since otherwise the value will be incorrect. - elsif Id = Attribute_Definite + elsif Id = Attribute_Atomic_Always_Lock_Free + or else + Id = Attribute_Definite or else Id = Attribute_Has_Access_Values or else @@ -6153,6 +6177,8 @@ package body Sem_Attr is or else Id = Attribute_Has_Tagged_Values or else + Id = Attribute_Lock_Free + or else Id = Attribute_Type_Class or else Id = Attribute_Unconstrained_Array @@ -6381,6 +6407,30 @@ package body Sem_Attr is null; end if; + ----------------------------- + -- Atomic_Always_Lock_Free -- + ----------------------------- + + -- Atomic_Always_Lock_Free attribute is a Boolean, thus no need to fold + -- here. + + when Attribute_Atomic_Always_Lock_Free => Atomic_Always_Lock_Free : + declare + V : constant Entity_Id := + Boolean_Literals + (Support_Atomic_Primitives_On_Target + and then Support_Atomic_Primitives (P_Type)); + + begin + Rewrite (N, New_Occurrence_Of (V, Loc)); + + -- Analyze and resolve as boolean. Note that this attribute is a + -- static attribute in GNAT. + + Analyze_And_Resolve (N, Standard_Boolean); + Static := True; + end Atomic_Always_Lock_Free; + --------- -- Bit -- --------- @@ -6801,10 +6851,18 @@ package body Sem_Attr is -- Lock_Free -- --------------- - -- Lock_Free attribute is a Boolean, thus no need to fold here. + when Attribute_Lock_Free => Lock_Free : declare + V : constant Entity_Id := Boolean_Literals (Uses_Lock_Free (P_Type)); - when Attribute_Lock_Free => - null; + begin + Rewrite (N, New_Occurrence_Of (V, Loc)); + + -- Analyze and resolve as boolean. Note that this attribute is a + -- static attribute in GNAT. + + Analyze_And_Resolve (N, Standard_Boolean); + Static := True; + end Lock_Free; ---------- -- Last -- diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index e033afa97dfa..6ee0bceeb81e 100644 --- a/gcc/ada/sem_ch9.adb +++ b/gcc/ada/sem_ch9.adb @@ -557,7 +557,6 @@ package body Sem_Ch9 is Id : constant Entity_Id := Entity (N); Comp_Decl : Node_Id; Comp_Id : Entity_Id := Empty; - Comp_Size : Int := 0; Comp_Type : Entity_Id; begin @@ -591,40 +590,19 @@ package body Sem_Ch9 is Layout_Type (Comp_Type); - if Known_Static_Esize (Comp_Type) then - Comp_Size := UI_To_Int (Esize (Comp_Type)); - - -- If the Esize (Object_Size) is unknown at - -- compile-time, look at the RM_Size - -- (Value_Size) since it may have been set by - -- an explicit representation clause. - - elsif Known_Static_RM_Size (Comp_Type) then - Comp_Size := - UI_To_Int (RM_Size (Comp_Type)); - - -- Worrisome missing else raise PE??? + if not + Support_Atomic_Primitives (Comp_Type) + then + if Lock_Free_Given then + Error_Msg_NE + ("type of& must support atomic " & + "operations", + N, Comp_Id); + return Skip; + end if; + + return Abandon; end if; - - -- Check that the size of the component is 8, - -- 16, 32 or 64 bits. - - -- What about AAMP here??? - - case Comp_Size is - when 8 | 16 | 32 | 64 => - null; - when others => - if Lock_Free_Given then - Error_Msg_NE - ("type of& must support atomic " & - "operations", - N, Comp_Id); - return Skip; - end if; - - return Abandon; - end case; end if; -- Check if another protected component has diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 8675d54d35a1..9d095309f82f 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -12833,6 +12833,47 @@ package body Sem_Util is end if; end Subprogram_Access_Level; + ------------------------------- + -- Support_Atomic_Primitives -- + ------------------------------- + + function Support_Atomic_Primitives (Typ : Entity_Id) return Boolean is + Size : Int; + + begin + -- Verify the alignment of Typ is known + + if not Known_Alignment (Typ) then + return False; + end if; + + if Known_Static_Esize (Typ) then + Size := UI_To_Int (Esize (Typ)); + + -- If the Esize (Object_Size) is unknown at compile-time, look at the + -- RM_Size (Value_Size) since it may have been set by an explicit rep + -- item. + + elsif Known_Static_RM_Size (Typ) then + Size := UI_To_Int (RM_Size (Typ)); + + -- Otherwise, the size is considered to be unknown. + + else + return False; + end if; + + -- Check that the size of the component is 8, 16, 32 or 64 bits and that + -- Typ is properly aligned. + + case Size is + when 8 | 16 | 32 | 64 => + return Size = UI_To_Int (Alignment (Typ)) * 8; + when others => + return False; + end case; + end Support_Atomic_Primitives; + ----------------- -- Trace_Scope -- ----------------- diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index 282ae3a0fb28..8d1f7cfadb22 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -1477,6 +1477,10 @@ package Sem_Util is function Subprogram_Access_Level (Subp : Entity_Id) return Uint; -- Return the accessibility level of the view denoted by Subp + function Support_Atomic_Primitives (Typ : Entity_Id) return Boolean; + -- Return True if Typ supports the GCC built-in atomic operations (i.e. if + -- Typ is properly sized and aligned). + procedure Trace_Scope (N : Node_Id; E : Entity_Id; Msg : String); -- Print debugging information on entry to each unit being analyzed diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl index 27ee72e2c890..d0c20153b0a5 100644 --- a/gcc/ada/snames.ads-tmpl +++ b/gcc/ada/snames.ads-tmpl @@ -766,6 +766,7 @@ package Snames is Name_Asm_Input : constant Name_Id := N + $; -- GNAT Name_Asm_Output : constant Name_Id := N + $; -- GNAT Name_AST_Entry : constant Name_Id := N + $; -- VMS + Name_Atomic_Always_Lock_Free : constant Name_Id := N + $; -- GNAT Name_Bit : constant Name_Id := N + $; -- GNAT Name_Bit_Order : constant Name_Id := N + $; Name_Bit_Position : constant Name_Id := N + $; -- GNAT @@ -1363,6 +1364,7 @@ package Snames is Attribute_Asm_Input, Attribute_Asm_Output, Attribute_AST_Entry, + Attribute_Atomic_Always_Lock_Free, Attribute_Bit, Attribute_Bit_Order, Attribute_Bit_Position, diff --git a/gcc/ada/system-aix.ads b/gcc/ada/system-aix.ads index 2dfe3988fcc6..19d65bdfcddb 100644 --- a/gcc/ada/system-aix.ads +++ b/gcc/ada/system-aix.ads @@ -142,7 +142,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-aix64.ads b/gcc/ada/system-aix64.ads index a06b1d2123eb..568c24f25697 100644 --- a/gcc/ada/system-aix64.ads +++ b/gcc/ada/system-aix64.ads @@ -142,7 +142,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-darwin-ppc.ads b/gcc/ada/system-darwin-ppc.ads index 45668c998081..d45ab4ee846c 100644 --- a/gcc/ada/system-darwin-ppc.ads +++ b/gcc/ada/system-darwin-ppc.ads @@ -158,7 +158,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-hpux.ads b/gcc/ada/system-hpux.ads index 899a96c94c7b..47793e55f670 100644 --- a/gcc/ada/system-hpux.ads +++ b/gcc/ada/system-hpux.ads @@ -132,7 +132,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-alpha.ads b/gcc/ada/system-linux-alpha.ads index 9a1eb21df017..5d845020446f 100644 --- a/gcc/ada/system-linux-alpha.ads +++ b/gcc/ada/system-linux-alpha.ads @@ -130,7 +130,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-hppa.ads b/gcc/ada/system-linux-hppa.ads index a23c2ead89e6..5ec908708bb8 100644 --- a/gcc/ada/system-linux-hppa.ads +++ b/gcc/ada/system-linux-hppa.ads @@ -132,7 +132,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-ppc.ads b/gcc/ada/system-linux-ppc.ads index b967b147b461..fac85a52fe58 100644 --- a/gcc/ada/system-linux-ppc.ads +++ b/gcc/ada/system-linux-ppc.ads @@ -140,7 +140,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-s390.ads b/gcc/ada/system-linux-s390.ads index 8a5920534c29..28107a0b4642 100644 --- a/gcc/ada/system-linux-s390.ads +++ b/gcc/ada/system-linux-s390.ads @@ -130,7 +130,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-s390x.ads b/gcc/ada/system-linux-s390x.ads index 028d055fa212..135b5a3b174e 100644 --- a/gcc/ada/system-linux-s390x.ads +++ b/gcc/ada/system-linux-s390x.ads @@ -130,7 +130,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-sh4.ads b/gcc/ada/system-linux-sh4.ads index 67f290c5042e..8ee07e374db6 100644 --- a/gcc/ada/system-linux-sh4.ads +++ b/gcc/ada/system-linux-sh4.ads @@ -140,7 +140,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-linux-sparc.ads b/gcc/ada/system-linux-sparc.ads index 94155cfe43b9..ff93463cf866 100644 --- a/gcc/ada/system-linux-sparc.ads +++ b/gcc/ada/system-linux-sparc.ads @@ -130,7 +130,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-lynxos-ppc.ads b/gcc/ada/system-lynxos-ppc.ads index 7419ecef9880..3f701b2dcf97 100644 --- a/gcc/ada/system-lynxos-ppc.ads +++ b/gcc/ada/system-lynxos-ppc.ads @@ -146,7 +146,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-mingw.ads b/gcc/ada/system-mingw.ads index 7787984f2aa7..dfb485208cf8 100644 --- a/gcc/ada/system-mingw.ads +++ b/gcc/ada/system-mingw.ads @@ -132,7 +132,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-solaris-sparc.ads b/gcc/ada/system-solaris-sparc.ads index 1b5d4c0d2168..ac695c543fe3 100644 --- a/gcc/ada/system-solaris-sparc.ads +++ b/gcc/ada/system-solaris-sparc.ads @@ -132,7 +132,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-solaris-sparcv9.ads b/gcc/ada/system-solaris-sparcv9.ads index 5d1015437d72..6c059244e97e 100644 --- a/gcc/ada/system-solaris-sparcv9.ads +++ b/gcc/ada/system-solaris-sparcv9.ads @@ -132,7 +132,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vms_64.ads b/gcc/ada/system-vms_64.ads index 9a55d3598a7a..946f0341d1cb 100644 --- a/gcc/ada/system-vms_64.ads +++ b/gcc/ada/system-vms_64.ads @@ -150,7 +150,6 @@ private Stack_Check_Probes : constant Boolean := True; Stack_Check_Limits : constant Boolean := False; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-arm.ads b/gcc/ada/system-vxworks-arm.ads index 019458db20d2..ae8ddd510655 100644 --- a/gcc/ada/system-vxworks-arm.ads +++ b/gcc/ada/system-vxworks-arm.ads @@ -145,7 +145,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := True; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-m68k.ads b/gcc/ada/system-vxworks-m68k.ads index 99b7cd3ea8b0..d747792a56ef 100644 --- a/gcc/ada/system-vxworks-m68k.ads +++ b/gcc/ada/system-vxworks-m68k.ads @@ -145,7 +145,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := True; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-mips.ads b/gcc/ada/system-vxworks-mips.ads index 1183ed7abdda..47b46fa2f7d4 100644 --- a/gcc/ada/system-vxworks-mips.ads +++ b/gcc/ada/system-vxworks-mips.ads @@ -145,7 +145,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := True; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-ppc.ads b/gcc/ada/system-vxworks-ppc.ads index d1b75d00cf6e..62d604f63192 100644 --- a/gcc/ada/system-vxworks-ppc.ads +++ b/gcc/ada/system-vxworks-ppc.ads @@ -154,7 +154,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := True; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; diff --git a/gcc/ada/system-vxworks-sparcv9.ads b/gcc/ada/system-vxworks-sparcv9.ads index edf4af4ccad8..96601676a24e 100644 --- a/gcc/ada/system-vxworks-sparcv9.ads +++ b/gcc/ada/system-vxworks-sparcv9.ads @@ -147,7 +147,6 @@ private Stack_Check_Probes : constant Boolean := False; Stack_Check_Limits : constant Boolean := True; Support_Aggregates : constant Boolean := True; - Support_Atomic_Primitives : constant Boolean := False; Support_Composite_Assign : constant Boolean := True; Support_Composite_Compare : constant Boolean := True; Support_Long_Shifts : constant Boolean := True; -- 2.39.5