From: Steve Baird Date: Mon, 22 Aug 2022 22:25:28 +0000 (-0700) Subject: [Ada] Disable lock free protected implementation if target lacks support X-Git-Tag: basepoints/gcc-14~4726 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e34c91420ffcacb27e4b0a9a83b97b9ee42a337;p=thirdparty%2Fgcc.git [Ada] Disable lock free protected implementation if target lacks support Do not select a lock free implementation if Targparm.Support_Atomic_Primitives is False (which indicates that the target cannot support it). gcc/ada/ * sem_ch9.adb (Allows_Lock_Free_Implementation): Return False if Support_Atomic_Primitives is False. --- diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index 7f4f65e93a34..ccb3dbf92263 100644 --- a/gcc/ada/sem_ch9.adb +++ b/gcc/ada/sem_ch9.adb @@ -64,6 +64,7 @@ with Sinfo; use Sinfo; with Sinfo.Nodes; use Sinfo.Nodes; with Sinfo.Utils; use Sinfo.Utils; with Style; +with Targparm; use Targparm; with Tbuild; use Tbuild; with Uintp; use Uintp; @@ -649,6 +650,10 @@ package body Sem_Ch9 is -- Start of processing for Satisfies_Lock_Free_Requirements begin + if not Support_Atomic_Primitives_On_Target then + return False; + end if; + -- Get the number of errors detected by the compiler so far if Lock_Free_Given then