summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/self.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/self.adb')
-rw-r--r--gcc/testsuite/gnat.dg/self.adb18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/self.adb b/gcc/testsuite/gnat.dg/self.adb
new file mode 100644
index 000000000..c95c3ef2b
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/self.adb
@@ -0,0 +1,18 @@
+package body Self is
+ function G (X : Integer) return Lim is
+ begin
+ return R : Lim := (Comp => X, others => <>);
+ end G;
+
+ procedure Change (X : in out Lim; Incr : Integer) is
+ begin
+ X.Comp := X.Comp + Incr;
+ X.Self_Default.Comp := X.Comp + Incr;
+ X.Self_Anon_Default.Comp := X.Comp + Incr;
+ end Change;
+
+ function Get (X : Lim) return Integer is
+ begin
+ return X.Comp;
+ end;
+end Self;