summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/aggr1.adb
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gnat.dg/aggr1.adb
downloadcbb-gcc-4.6.4-upstream.tar.bz2
cbb-gcc-4.6.4-upstream.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/gnat.dg/aggr1.adb')
-rw-r--r--gcc/testsuite/gnat.dg/aggr1.adb50
1 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/aggr1.adb b/gcc/testsuite/gnat.dg/aggr1.adb
new file mode 100644
index 000000000..256b3951b
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/aggr1.adb
@@ -0,0 +1,50 @@
+-- { dg-do run }
+
+procedure aggr1 is
+ package Coord is
+ type T is private;
+ private
+ type T is record
+ A, B, C : Float;
+ end record;
+ end Coord;
+--
+ generic
+ type T is private;
+ package gen is
+ type Rec (Discr : Boolean := True) is record
+ needs_update : Boolean;
+ case Discr is
+ when True => null;
+ when False => Value : T;
+ end case;
+ end record;
+ end gen;
+--
+ subtype Graph_Range is integer range 1..1665;
+ type arr is array (Graph_Range) of Coord.T;
+--
+ package Inst is new Gen (arr);
+--
+ subtype Index is integer range 1 .. 1;
+--
+ type Graph_Node (Active : Boolean := False) is
+ record
+ case Active is
+ when True =>
+ Comp1 : Inst.Rec;
+ Comp2 : Inst.Rec;
+ Comp3 : Inst.Rec;
+ when False =>
+ Needs_Update : Boolean;
+ end case;
+ end record;
+--
+ Null_Graph_Node : constant Graph_Node := (False, True);
+ type Graph_Table_T is array (Index) of Graph_Node;
+--
+ Graph_Table : Graph_Table_T := (others => (Null_Graph_Node));
+ Graph_Table_1 : Graph_Table_T := (others => (False, True));
+begin
+ null;
+end;