diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r-- | gcc/testsuite/gnat.dg/discr26.adb | 19 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/discr26.ads | 16 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/discr26_pkg.ads | 5 |
3 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/discr26.adb b/gcc/testsuite/gnat.dg/discr26.adb new file mode 100644 index 00000000000..2d498889bf8 --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr26.adb @@ -0,0 +1,19 @@ +-- { dg-do compile } +-- { dg-options "-gnatws" } + +package body Discr26 is + + function F1 return My_T1 is + R: My_T1; + begin + return R; + end; + + procedure Proc is + begin + if F1.D = 0 then + raise Program_Error; + end if; + end; + +end Discr26; diff --git a/gcc/testsuite/gnat.dg/discr26.ads b/gcc/testsuite/gnat.dg/discr26.ads new file mode 100644 index 00000000000..5a428f2bfed --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr26.ads @@ -0,0 +1,16 @@ +with Discr26_Pkg; + +package Discr26 is + + type T1 (D : Integer) is record + case D is + when 1 => I : Integer; + when others => null; + end case; + end record; + + type My_T1 is new T1 (Discr26_Pkg.N); + + procedure Proc; + +end Discr26; diff --git a/gcc/testsuite/gnat.dg/discr26_pkg.ads b/gcc/testsuite/gnat.dg/discr26_pkg.ads new file mode 100644 index 00000000000..ca775eb5d61 --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr26_pkg.ads @@ -0,0 +1,5 @@ +package Discr26_Pkg is + + function N return Integer; + +end Discr26_Pkg; |