From: Eric Botcazou Date: Mon, 16 Jan 2017 08:46:20 +0000 (+0000) Subject: opt62.adb: New test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d743728f903ea03b0114feb594e038ca8ca799d9;p=gcc.git opt62.adb: New test. * gnat.dg/opt62.adb: New test. * gnat.dg/opt62_pkg.ads: New helper. From-SVN: r244485 --- 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;