2010-11-30 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / minlocval_2.f90
blob8e04dc6ded88a92cc8f39c11cedb5597300fea03
1 ! { dg-do run }
2 integer :: a(3), h
3 integer, allocatable :: c(:)
4 logical :: l
5 logical :: l2(3)
7 h = -huge(h)
8 h = h - 1
9 allocate (c(3))
10 a(:) = 5
11 if (minloc (a, dim = 1).ne.1) call abort
12 if (minval (a, dim = 1).ne.5) call abort
13 a(2) = h
14 if (minloc (a, dim = 1).ne.2) call abort
15 if (minval (a, dim = 1).ne.h) call abort
16 a(:) = huge(h)
17 if (minloc (a, dim = 1).ne.1) call abort
18 if (minval (a, dim = 1).ne.huge(h)) call abort
19 a(3) = huge(h) - 1
20 if (minloc (a, dim = 1).ne.3) call abort
21 if (minval (a, dim = 1).ne.huge(h)-1) call abort
22 c(:) = 5
23 if (minloc (c, dim = 1).ne.1) call abort
24 if (minval (c, dim = 1).ne.5) call abort
25 c(2) = h
26 if (minloc (c, dim = 1).ne.2) call abort
27 if (minval (c, dim = 1).ne.h) call abort
28 c(:) = huge(h)
29 if (minloc (c, dim = 1).ne.1) call abort
30 if (minval (c, dim = 1).ne.huge(h)) call abort
31 c(3) = huge(h) - 1
32 if (minloc (c, dim = 1).ne.3) call abort
33 if (minval (c, dim = 1).ne.huge(h)-1) call abort
34 l = .false.
35 l2(:) = .false.
36 a(:) = 5
37 if (minloc (a, dim = 1, mask = l).ne.0) call abort
38 if (minval (a, dim = 1, mask = l).ne.huge(h)) call abort
39 if (minloc (a, dim = 1, mask = l2).ne.0) call abort
40 if (minval (a, dim = 1, mask = l2).ne.huge(h)) call abort
41 a(2) = h
42 if (minloc (a, dim = 1, mask = l).ne.0) call abort
43 if (minval (a, dim = 1, mask = l).ne.huge(h)) call abort
44 if (minloc (a, dim = 1, mask = l2).ne.0) call abort
45 if (minval (a, dim = 1, mask = l2).ne.huge(h)) call abort
46 a(:) = huge(h)
47 if (minloc (a, dim = 1, mask = l).ne.0) call abort
48 if (minval (a, dim = 1, mask = l).ne.huge(h)) call abort
49 if (minloc (a, dim = 1, mask = l2).ne.0) call abort
50 if (minval (a, dim = 1, mask = l2).ne.huge(h)) call abort
51 a(3) = huge(h) - 1
52 if (minloc (a, dim = 1, mask = l).ne.0) call abort
53 if (minval (a, dim = 1, mask = l).ne.huge(h)) call abort
54 if (minloc (a, dim = 1, mask = l2).ne.0) call abort
55 if (minval (a, dim = 1, mask = l2).ne.huge(h)) call abort
56 c(:) = 5
57 if (minloc (c, dim = 1, mask = l).ne.0) call abort
58 if (minval (c, dim = 1, mask = l).ne.huge(h)) call abort
59 if (minloc (c, dim = 1, mask = l2).ne.0) call abort
60 if (minval (c, dim = 1, mask = l2).ne.huge(h)) call abort
61 c(2) = h
62 if (minloc (c, dim = 1, mask = l).ne.0) call abort
63 if (minval (c, dim = 1, mask = l).ne.huge(h)) call abort
64 if (minloc (c, dim = 1, mask = l2).ne.0) call abort
65 if (minval (c, dim = 1, mask = l2).ne.huge(h)) call abort
66 c(:) = huge(h)
67 if (minloc (c, dim = 1, mask = l).ne.0) call abort
68 if (minval (c, dim = 1, mask = l).ne.huge(h)) call abort
69 if (minloc (c, dim = 1, mask = l2).ne.0) call abort
70 if (minval (c, dim = 1, mask = l2).ne.huge(h)) call abort
71 c(3) = huge(h) - 1
72 if (minloc (c, dim = 1, mask = l).ne.0) call abort
73 if (minval (c, dim = 1, mask = l).ne.huge(h)) call abort
74 if (minloc (c, dim = 1, mask = l2).ne.0) call abort
75 if (minval (c, dim = 1, mask = l2).ne.huge(h)) call abort
76 l = .true.
77 l2(:) = .true.
78 a(:) = 5
79 if (minloc (a, dim = 1, mask = l).ne.1) call abort
80 if (minval (a, dim = 1, mask = l).ne.5) call abort
81 if (minloc (a, dim = 1, mask = l2).ne.1) call abort
82 if (minval (a, dim = 1, mask = l2).ne.5) call abort
83 a(2) = h
84 if (minloc (a, dim = 1, mask = l).ne.2) call abort
85 if (minval (a, dim = 1, mask = l).ne.h) call abort
86 if (minloc (a, dim = 1, mask = l2).ne.2) call abort
87 if (minval (a, dim = 1, mask = l2).ne.h) call abort
88 a(:) = huge(h)
89 if (minloc (a, dim = 1, mask = l).ne.1) call abort
90 if (minval (a, dim = 1, mask = l).ne.huge(h)) call abort
91 if (minloc (a, dim = 1, mask = l2).ne.1) call abort
92 if (minval (a, dim = 1, mask = l2).ne.huge(h)) call abort
93 a(3) = huge(h) - 1
94 if (minloc (a, dim = 1, mask = l).ne.3) call abort
95 if (minval (a, dim = 1, mask = l).ne.huge(h)-1) call abort
96 if (minloc (a, dim = 1, mask = l2).ne.3) call abort
97 if (minval (a, dim = 1, mask = l2).ne.huge(h)-1) call abort
98 c(:) = 5
99 if (minloc (c, dim = 1, mask = l).ne.1) call abort
100 if (minval (c, dim = 1, mask = l).ne.5) call abort
101 if (minloc (c, dim = 1, mask = l2).ne.1) call abort
102 if (minval (c, dim = 1, mask = l2).ne.5) call abort
103 c(2) = h
104 if (minloc (c, dim = 1, mask = l).ne.2) call abort
105 if (minval (c, dim = 1, mask = l).ne.h) call abort
106 if (minloc (c, dim = 1, mask = l2).ne.2) call abort
107 if (minval (c, dim = 1, mask = l2).ne.h) call abort
108 c(:) = huge(h)
109 if (minloc (c, dim = 1, mask = l).ne.1) call abort
110 if (minval (c, dim = 1, mask = l).ne.huge(h)) call abort
111 if (minloc (c, dim = 1, mask = l2).ne.1) call abort
112 if (minval (c, dim = 1, mask = l2).ne.huge(h)) call abort
113 c(3) = huge(h) - 1
114 if (minloc (c, dim = 1, mask = l).ne.3) call abort
115 if (minval (c, dim = 1, mask = l).ne.huge(h)-1) call abort
116 if (minloc (c, dim = 1, mask = l2).ne.3) call abort
117 if (minval (c, dim = 1, mask = l2).ne.huge(h)-1) call abort
118 deallocate (c)
119 allocate (c(-2:-3))
120 if (minloc (c, dim = 1).ne.0) call abort
121 if (minval (c, dim = 1).ne.huge(h)) call abort