From 5e34c91420ffcacb27e4b0a9a83b97b9ee42a337 Mon Sep 17 00:00:00 2001 From: Steve Baird Date: Mon, 22 Aug 2022 15:25:28 -0700 Subject: [PATCH] [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. --- gcc/ada/sem_ch9.adb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index 7f4f65e..ccb3dbf 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 -- 2.7.4