From d743728f903ea03b0114feb594e038ca8ca799d9 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 16 Jan 2017 08:46:20 +0000 Subject: [PATCH] opt62.adb: New test. * gnat.dg/opt62.adb: New test. * gnat.dg/opt62_pkg.ads: New helper. From-SVN: r244485 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gnat.dg/opt62.adb | 15 +++++++++++++++ gcc/testsuite/gnat.dg/opt62_pkg.ads | 19 +++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 gcc/testsuite/gnat.dg/opt62.adb create mode 100644 gcc/testsuite/gnat.dg/opt62_pkg.ads diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 625c99a7d22..7e5731e510d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-01-16 Eric Botcazou + + * gnat.dg/opt62.adb: New test. + * gnat.dg/opt62_pkg.ads: New helper. + 2017-01-14 Bernd Schmidt PR rtl-optimization/78626 diff --git a/gcc/testsuite/gnat.dg/opt62.adb b/gcc/testsuite/gnat.dg/opt62.adb new file mode 100644 index 00000000000..eb7a806d228 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt62.adb @@ -0,0 +1,15 @@ +-- { dg-do run } +-- { dg-options "-O" } + +with Opt62_Pkg; use Opt62_Pkg; + +procedure Opt62 is + + String5 : String(1..5) := "12345"; + D: Der := (Unconstrained_Der with D2 => 5, S2 => String5); + +begin + if D.Str1 /= "abcde" then + raise Program_Error; + end if; +end; diff --git a/gcc/testsuite/gnat.dg/opt62_pkg.ads b/gcc/testsuite/gnat.dg/opt62_pkg.ads new file mode 100644 index 00000000000..348ee0b3c48 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt62_pkg.ads @@ -0,0 +1,19 @@ +package Opt62_Pkg is + + Default_String : constant String := "This is a default string"; + + subtype Length is Natural range 0..255; + + type Root (D1 : Length) is tagged record + S1 : String(1..D1) := Default_String(1..D1); + end record; + + type Unconstrained_Der is new Root with record + Str1 : String(1..5) := "abcde"; + end record; + + type Der (D2 : Length) is new Unconstrained_Der (D1 => 10) with record + S2 : String(1..D2); + end record; + +end Opt62_Pkg; -- 2.30.2