summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/protected_self_ref1.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/protected_self_ref1.adb')
-rw-r--r--gcc/testsuite/gnat.dg/protected_self_ref1.adb25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/protected_self_ref1.adb b/gcc/testsuite/gnat.dg/protected_self_ref1.adb
new file mode 100644
index 000000000..b6c2aef68
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/protected_self_ref1.adb
@@ -0,0 +1,25 @@
+-- { dg-do run }
+with System;
+
+procedure Protected_Self_Ref1 is
+
+ protected type P is
+ procedure Foo;
+ end P;
+
+ protected body P is
+ procedure Foo is
+ Ptr : access P; -- here P denotes the type P
+ T : Integer;
+ A : System.Address;
+ begin
+ Ptr := P'Access; -- here P denotes the "this" instance of P
+ T := P'Size;
+ A := P'Address;
+ end;
+ end P;
+
+ O : P;
+begin
+ O.Foo;
+end Protected_Self_Ref1;