summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-27 09:16:45 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-27 09:16:45 +0000
commitdeb74db2d98b0e59d053e268412fc6a49f6a7e7f (patch)
tree20850ce6ad49a6f73566862cf73cc69563654f3c /gcc/testsuite/gnat.dg
parentdb04b5aba9a48e6a27761d15f37c7c6ae11656cd (diff)
downloadgcc-deb74db2d98b0e59d053e268412fc6a49f6a7e7f.tar.gz
* utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
version of its type, attempt to first convert its elements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137173 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r--gcc/testsuite/gnat.dg/aggr9.adb12
-rw-r--r--gcc/testsuite/gnat.dg/aggr9.ads7
-rw-r--r--gcc/testsuite/gnat.dg/aggr9_pkg.ads17
3 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/aggr9.adb b/gcc/testsuite/gnat.dg/aggr9.adb
new file mode 100644
index 00000000000..70d026fdd28
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/aggr9.adb
@@ -0,0 +1,12 @@
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+package body Aggr9 is
+
+ procedure Proc (X : R1) is
+ M : R2 := (F => X);
+ begin
+ Send (M);
+ end;
+
+end Aggr9;
diff --git a/gcc/testsuite/gnat.dg/aggr9.ads b/gcc/testsuite/gnat.dg/aggr9.ads
new file mode 100644
index 00000000000..cb5757b64af
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/aggr9.ads
@@ -0,0 +1,7 @@
+with Aggr9_Pkg; use Aggr9_Pkg;
+
+package Aggr9 is
+
+ procedure Proc (X : R1);
+
+end Aggr9;
diff --git a/gcc/testsuite/gnat.dg/aggr9_pkg.ads b/gcc/testsuite/gnat.dg/aggr9_pkg.ads
new file mode 100644
index 00000000000..c7c7b9e10b8
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/aggr9_pkg.ads
@@ -0,0 +1,17 @@
+package Aggr9_Pkg is
+
+ type Byte is range 0 .. 255;
+
+ type R1 is
+ record
+ A,B : Byte;
+ end record;
+
+ type R2 is
+ record
+ F : R1;
+ end record;
+
+ procedure Send (M : R2);
+
+end Aggr9_Pkg;