OSDN Git Service

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / minloc_3.f90
1   real :: a(30), m
2   real, allocatable :: c(:)
3   integer :: e(30), n, ia(1)
4   integer, allocatable :: g(:)
5   logical :: l(30)
6   allocate (c (30))
7   allocate (g (30))
8   a = 7.0
9   c = 7.0
10   e = 7
11   g = 7
12   m = huge(m)
13   n = huge(n)
14   a(7) = 6.0
15   c(7) = 6.0
16   e(7) = 6
17   g(7) = 6
18   ia = minloc (a)
19   if (ia(1).ne.7) call abort
20   ia = minloc (a(::2))
21   if (ia(1).ne.4) call abort
22   if (any (minloc (a).ne.(/ 7 /))) call abort
23   if (any (minloc (a(::2)).ne.(/ 4 /))) call abort
24   ia = minloc (c)
25   if (ia(1).ne.7) call abort
26   ia = minloc (c(::2))
27   if (ia(1).ne.4) call abort
28   if (any (minloc (c).ne.(/ 7 /))) call abort
29   if (any (minloc (c(::2)).ne.(/ 4 /))) call abort
30   ia = minloc (e)
31   if (ia(1).ne.7) call abort
32   ia = minloc (e(::2))
33   if (ia(1).ne.4) call abort
34   if (any (minloc (e).ne.(/ 7 /))) call abort
35   if (any (minloc (e(::2)).ne.(/ 4 /))) call abort
36   ia = minloc (g)
37   if (ia(1).ne.7) call abort
38   ia = minloc (g(::2))
39   if (ia(1).ne.4) call abort
40   if (any (minloc (g).ne.(/ 7 /))) call abort
41   if (any (minloc (g(::2)).ne.(/ 4 /))) call abort
42   l = .true.
43   ia = minloc (a, mask = l)
44   if (ia(1).ne.7) call abort
45   ia = minloc (a(::2), mask = l(::2))
46   if (ia(1).ne.4) call abort
47   if (any (minloc (a, mask = l).ne.(/ 7 /))) call abort
48   if (any (minloc (a(::2), mask = l(::2)).ne.(/ 4 /))) call abort
49   ia = minloc (c, mask = l)
50   if (ia(1).ne.7) call abort
51   ia = minloc (c(::2), mask = l(::2))
52   if (ia(1).ne.4) call abort
53   if (any (minloc (c, mask = l).ne.(/ 7 /))) call abort
54   if (any (minloc (c(::2), mask = l(::2)).ne.(/ 4 /))) call abort
55   ia = minloc (e, mask = l)
56   if (ia(1).ne.7) call abort
57   ia = minloc (e(::2), mask = l(::2))
58   if (ia(1).ne.4) call abort
59   if (any (minloc (e, mask = l).ne.(/ 7 /))) call abort
60   if (any (minloc (e(::2), mask = l(::2)).ne.(/ 4 /))) call abort
61   ia = minloc (g, mask = l)
62   if (ia(1).ne.7) call abort
63   ia = minloc (g(::2), mask = l(::2))
64   if (ia(1).ne.4) call abort
65   if (any (minloc (g, mask = l).ne.(/ 7 /))) call abort
66   if (any (minloc (g(::2), mask = l(::2)).ne.(/ 4 /))) call abort
67   l = .false.
68   ia = minloc (a, mask = l)
69   if (ia(1).ne.0) call abort
70   ia = minloc (a(::2), mask = l(::2))
71   if (ia(1).ne.0) call abort
72   if (any (minloc (a, mask = l).ne.(/ 0 /))) call abort
73   if (any (minloc (a(::2), mask = l(::2)).ne.(/ 0 /))) call abort
74   ia = minloc (c, mask = l)
75   if (ia(1).ne.0) call abort
76   ia = minloc (c(::2), mask = l(::2))
77   if (ia(1).ne.0) call abort
78   if (any (minloc (c, mask = l).ne.(/ 0 /))) call abort
79   if (any (minloc (c(::2), mask = l(::2)).ne.(/ 0 /))) call abort
80   ia = minloc (e, mask = l)
81   if (ia(1).ne.0) call abort
82   ia = minloc (e(::2), mask = l(::2))
83   if (ia(1).ne.0) call abort
84   if (any (minloc (e, mask = l).ne.(/ 0 /))) call abort
85   if (any (minloc (e(::2), mask = l(::2)).ne.(/ 0 /))) call abort
86   ia = minloc (g, mask = l)
87   if (ia(1).ne.0) call abort
88   ia = minloc (g(::2), mask = l(::2))
89   if (ia(1).ne.0) call abort
90   if (any (minloc (g, mask = l).ne.(/ 0 /))) call abort
91   if (any (minloc (g(::2), mask = l(::2)).ne.(/ 0 /))) call abort
92   a = 7.0
93   c = 7.0
94 end