summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/discr16.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/discr16.adb')
-rw-r--r--gcc/testsuite/gnat.dg/discr16.adb23
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/discr16.adb b/gcc/testsuite/gnat.dg/discr16.adb
new file mode 100644
index 000000000..c4c24fd4d
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/discr16.adb
@@ -0,0 +1,23 @@
+-- { dg-do compile }
+
+with Discr16_G;
+with Discr16_Cont; use Discr16_Cont;
+
+procedure Discr16 is
+
+ generic
+ type T is (<>);
+ function MAX_ADD_G(X : T; I : INTEGER) return T;
+
+ function MAX_ADD_G(X : T; I : INTEGER) return T is
+ begin
+ return T'val(T'pos(X) + LONG_INTEGER(I));
+ end;
+
+ function MAX_ADD is new MAX_ADD_G(ES6A);
+
+ package P is new Discr16_G(ES6A, MAX_ADD);
+
+begin
+ null;
+end;