summaryrefslogtreecommitdiff
path: root/gcc/ada/checks.adb
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-26 08:49:21 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-26 08:49:21 +0000
commit56dc88658322792c37caefdad5a930d2a908f081 (patch)
tree8a17169be86156c7669754dce33cc29b36dadd57 /gcc/ada/checks.adb
parentcf934ff9c72f04c61ce53cceafa13c045a582b31 (diff)
downloadgcc-56dc88658322792c37caefdad5a930d2a908f081.tar.gz
2011-10-26 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 180468 using svnmerge git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@180470 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/checks.adb')
-rw-r--r--gcc/ada/checks.adb17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index e07d70e47be..f3234865dbd 100644
--- a/gcc/ada/checks.adb
+++ b/gcc/ada/checks.adb
@@ -2555,6 +2555,23 @@ package body Checks is
end if;
end Apply_Universal_Integer_Attribute_Checks;
+ -------------------------------------
+ -- Atomic_Synchronization_Disabled --
+ -------------------------------------
+
+ -- Note: internally Disable/Enable_Atomic_Synchronization is implemented
+ -- using a bogus check called Atomic_Synchronization. This is to make it
+ -- more convenient to get exactly the same semantics as [Un]Suppress.
+
+ function Atomic_Synchronization_Disabled (E : Entity_Id) return Boolean is
+ begin
+ if Present (E) and then Checks_May_Be_Suppressed (E) then
+ return Is_Check_Suppressed (E, Atomic_Synchronization);
+ else
+ return Scope_Suppress (Atomic_Synchronization);
+ end if;
+ end Atomic_Synchronization_Disabled;
+
-------------------------------
-- Build_Discriminant_Checks --
-------------------------------