aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2008-05-26 13:46:21 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2008-05-26 15:46:21 +0200
commite94a83856fa29fc559ab6bfe013ea6cf16f401fa (patch)
treecb65251919658691fb5167e4187841c7b5c3a334
parentad89bc8dc5da9530cbe761ebe48c6344d808d337 (diff)
downloadgcc-e94a83856fa29fc559ab6bfe013ea6cf16f401fa.zip
gcc-e94a83856fa29fc559ab6bfe013ea6cf16f401fa.tar.gz
gcc-e94a83856fa29fc559ab6bfe013ea6cf16f401fa.tar.bz2
* gnat.dg/pak.ad[sb]: New test.
From-SVN: r135926
-rw-r--r--gcc/testsuite/ChangeLog1
-rw-r--r--gcc/testsuite/gnat.dg/pak.adb15
-rw-r--r--gcc/testsuite/gnat.dg/pak.ads7
3 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 156ea63..5f0d17b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -12,6 +12,7 @@
* gnat.dg/set_in_pproc.adb: New test.
* gnat.dg/modular2.adb: New test.
+ * gnat.dg/pak.ad[sb]: New test.
2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
diff --git a/gcc/testsuite/gnat.dg/pak.adb b/gcc/testsuite/gnat.dg/pak.adb
new file mode 100644
index 0000000..0430482
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/pak.adb
@@ -0,0 +1,15 @@
+-- { dg-do compile }
+package body Pak is
+ pragma Suppress (Discriminant_Check);
+ -- Suppress discriminant check to prevent the assignment from using
+ -- the predefined primitive _assign.
+
+ procedure Initialize (X : in out T) is begin null; end Initialize;
+ procedure Finalize (X : in out T) is begin null; end Finalize;
+
+ procedure Assign (X : out T'Class) is
+ Y : T;
+ begin
+ T (X) := Y;
+ end Assign;
+end Pak;
diff --git a/gcc/testsuite/gnat.dg/pak.ads b/gcc/testsuite/gnat.dg/pak.ads
new file mode 100644
index 0000000..e1e2d0d
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/pak.ads
@@ -0,0 +1,7 @@
+with Ada.Finalization;
+package Pak is
+ type T is new Ada.Finalization.Controlled with null record;
+ procedure Initialize (X : in out T);
+ procedure Finalize (X : in out T);
+ procedure Assign (X : out T'Class);
+end Pak;