OSDN Git Service

* gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / vect4.ads
1 with Vect4_Pkg;
2
3 package Vect4 is
4
5    -- Unconstrained array types are vectorizable, possibly with special
6    -- help for the programmer
7    type Varray is array (Integer range <>) of Long_Float;
8    for Varray'Alignment use 16;
9
10    function "+" (X : Varray; Y : Long_Float) return Varray;
11    procedure Add (X : Varray; Y : Long_Float; R : out Varray);
12    procedure Add (X : not null access Varray; Y : Long_Float; R : not null access Varray);
13
14
15    -- Constrained array types are vectorizable
16    type Sarray is array (1 .. 4) of Long_Float;
17    for Sarray'Alignment use 16;
18
19    function "+" (X : Sarray; Y : Long_Float) return Sarray;
20    procedure Add (X : Sarray; Y : Long_Float; R : out Sarray);
21    procedure Add (X : not null access Sarray; Y : Long_Float; R : not null access Sarray);
22
23
24    type Darray1 is array (1 .. Vect4_Pkg.N) of Long_Float;
25    for Darray1'Alignment use 16;
26
27    function "+" (X : Darray1; Y : Long_Float) return Darray1;
28    procedure Add (X : Darray1; Y : Long_Float; R : out Darray1);
29    procedure Add (X : not null access Darray1; Y : Long_Float; R : not null access Darray1);
30
31
32    type Darray2 is array (Vect4_Pkg.K .. 4) of Long_Float;
33    for Darray2'Alignment use 16;
34
35    function "+" (X : Darray2; Y : Long_Float) return Darray2;
36    procedure Add (X : Darray2; Y : Long_Float; R : out Darray2);
37    procedure Add (X : not null access Darray2; Y : Long_Float; R : not null access Darray2);
38
39
40    type Darray3 is array (Vect4_Pkg.K .. Vect4_Pkg.N) of Long_Float;
41    for Darray3'Alignment use 16;
42
43    function "+" (X : Darray3; Y : Long_Float) return Darray3;
44    procedure Add (X : Darray3; Y : Long_Float; R : out Darray3);
45    procedure Add (X : not null access Darray3; Y : Long_Float; R : not null access Darray3);
46
47 end Vect4;