aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2008-05-27 09:11:45 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2008-05-27 11:11:45 +0200
commitdd383eebef22066c2eff724d9d0c964975b72d79 (patch)
treee3e393a545c5fe94e4c010826f0c3be79130631c /gcc
parent7bf402c1bdb66187f8292466b2a4021fd137c391 (diff)
downloadgcc-dd383eebef22066c2eff724d9d0c964975b72d79.zip
gcc-dd383eebef22066c2eff724d9d0c964975b72d79.tar.gz
gcc-dd383eebef22066c2eff724d9d0c964975b72d79.tar.bz2
* gnat.dg/sync1.ad[sb]: New test.
From-SVN: r135989
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gnat.dg/sync1.adb15
-rw-r--r--gcc/testsuite/gnat.dg/sync1.ads12
3 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 79bbe74..6bb5bc4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat.dg/sync1.ad[sb]: New test.
+
2008-05-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c-torture/compile/pr11832.c: XFAIL on (x86 && ilp32 && pic).
diff --git a/gcc/testsuite/gnat.dg/sync1.adb b/gcc/testsuite/gnat.dg/sync1.adb
new file mode 100644
index 0000000..08be639
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/sync1.adb
@@ -0,0 +1,15 @@
+-- { dg-do compile }
+package body sync1 is
+ protected body Chopstick is
+
+ entry Pick_Up when not Busy is
+ begin
+ Busy := True;
+ end Pick_Up;
+
+ procedure Put_Down is
+ begin
+ Busy := False;
+ end Put_Down;
+ end Chopstick;
+end sync1;
diff --git a/gcc/testsuite/gnat.dg/sync1.ads b/gcc/testsuite/gnat.dg/sync1.ads
new file mode 100644
index 0000000..81c2f4a
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/sync1.ads
@@ -0,0 +1,12 @@
+package sync1 is
+ type Chopstick_Type is synchronized interface;
+
+ type Chopstick is new Chopstick_Type with private;
+private
+ protected type Chopstick is new Chopstick_Type with
+ entry Pick_Up;
+ procedure Put_Down;
+ private
+ Busy : Boolean := False;
+ end Chopstick;
+end sync1;