summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/trampoline2.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/trampoline2.adb')
-rw-r--r--gcc/testsuite/gnat.dg/trampoline2.adb27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/trampoline2.adb b/gcc/testsuite/gnat.dg/trampoline2.adb
new file mode 100644
index 000000000..26b42722a
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/trampoline2.adb
@@ -0,0 +1,27 @@
+-- { dg-do run }
+-- { dg-options "-gnatws" }
+
+with System; use System;
+
+procedure Trampoline2 is
+
+ A : Integer;
+
+ type FuncPtr is access function (I : Integer) return Integer;
+
+ function F (I : Integer) return Integer is
+ begin
+ return A + I;
+ end F;
+
+ P : FuncPtr := F'Access;
+ CA : System.Address := F'Code_Address;
+ I : Integer;
+
+begin
+ if CA = System.Null_Address then
+ raise Program_Error;
+ end if;
+
+ I := P(0);
+end;