1! { dg-do run }
2  real :: a(30), b(10, 10), m
3  real, allocatable :: c(:), d(:, :)
4  integer :: e(30), f(10, 10), n
5  integer, allocatable :: g(:), h(:,:)
6  logical :: l(30), l2(10, 10)
7  allocate (c (30))
8  allocate (d (10, 10))
9  allocate (g (30))
10  allocate (h (10, 10))
11  a = 7.0
12  b = 7.0
13  c = 7.0
14  d = 7.0
15  e = 7
16  f = 7
17  g = 7
18  h = 7
19  m = huge(m)
20  n = huge(n)
21  a(7) = 6.0
22  b(5, 5) = 6.0
23  b(5, 6) = 5.0
24  b(6, 7) = 4.0
25  c(7) = 6.0
26  d(5, 5) = 6.0
27  d(5, 6) = 5.0
28  d(6, 7) = 4.0
29  e(7) = 6
30  f(5, 5) = 6
31  f(5, 6) = 5
32  f(6, 7) = 4
33  g(7) = 6
34  h(5, 5) = 6
35  h(5, 6) = 5
36  h(6, 7) = 4
37  if (minloc (a, dim = 1).ne.7) call abort
38  if (minval (a, dim = 1).ne.6.0) call abort
39  if (minloc (a(::2), dim = 1).ne.4) call abort
40  if (minval (a(::2), dim = 1).ne.6.0) call abort
41  if (any (minloc (a).ne.(/ 7 /))) call abort
42  if (minval (a).ne.6.0) call abort
43  if (any (minloc (a(::2)).ne.(/ 4 /))) call abort
44  if (minval (a(::2)).ne.6.0) call abort
45  if (any (minloc (b, dim = 1).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
46  if (any (minval (b, dim = 1).ne.(/ 7.0, 7.0, 7.0, 7.0, 6.0, 5.0, 4.0, 7.0, 7.0, 7.0 /))) call abort
47  if (any (minloc (b(::2,::2), dim = 1).ne.(/ 1, 1, 3, 1, 1 /))) call abort
48  if (any (minval (b(::2,::2), dim = 1).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
49  if (any (minloc (b, dim = 2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
50  if (any (minval (b, dim = 2).ne.(/ 7.0, 7.0, 7.0, 7.0, 5.0, 4.0, 7.0, 7.0, 7.0, 7.0 /))) call abort
51  if (any (minloc (b(::2,::2), dim = 2).ne.(/ 1, 1, 3, 1, 1 /))) call abort
52  if (any (minval (b(::2,::2), dim = 2).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
53  if (any (minloc (b).ne.(/ 6, 7 /))) call abort
54  if (minval (b).ne.4.0) call abort
55  if (any (minloc (b(::2,::2)).ne.(/ 3, 3 /))) call abort
56  if (minval (b(::2,::2)).ne.6.0) call abort
57  if (minloc (c, dim = 1).ne.7) call abort
58  if (minval (c, dim = 1).ne.6.0) call abort
59  if (minloc (c(::2), dim = 1).ne.4) call abort
60  if (minval (c(::2), dim = 1).ne.6.0) call abort
61  if (any (minloc (c).ne.(/ 7 /))) call abort
62  if (minval (c).ne.6.0) call abort
63  if (any (minloc (c(::2)).ne.(/ 4 /))) call abort
64  if (minval (c(::2)).ne.6.0) call abort
65  if (any (minloc (d, dim = 1).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
66  if (any (minval (d, dim = 1).ne.(/ 7.0, 7.0, 7.0, 7.0, 6.0, 5.0, 4.0, 7.0, 7.0, 7.0 /))) call abort
67  if (any (minloc (d(::2,::2), dim = 1).ne.(/ 1, 1, 3, 1, 1 /))) call abort
68  if (any (minval (d(::2,::2), dim = 1).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
69  if (any (minloc (d, dim = 2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
70  if (any (minval (d, dim = 2).ne.(/ 7.0, 7.0, 7.0, 7.0, 5.0, 4.0, 7.0, 7.0, 7.0, 7.0 /))) call abort
71  if (any (minloc (d(::2,::2), dim = 2).ne.(/ 1, 1, 3, 1, 1 /))) call abort
72  if (any (minval (d(::2,::2), dim = 2).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
73  if (any (minloc (d).ne.(/ 6, 7 /))) call abort
74  if (minval (d).ne.4.0) call abort
75  if (any (minloc (d(::2,::2)).ne.(/ 3, 3 /))) call abort
76  if (minval (d(::2,::2)).ne.6.0) call abort
77  if (minloc (e, dim = 1).ne.7) call abort
78  if (minval (e, dim = 1).ne.6) call abort
79  if (minloc (e(::2), dim = 1).ne.4) call abort
80  if (minval (e(::2), dim = 1).ne.6) call abort
81  if (any (minloc (e).ne.(/ 7 /))) call abort
82  if (minval (e).ne.6) call abort
83  if (any (minloc (e(::2)).ne.(/ 4 /))) call abort
84  if (minval (e(::2)).ne.6) call abort
85  if (any (minloc (f, dim = 1).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
86  if (any (minval (f, dim = 1).ne.(/ 7, 7, 7, 7, 6, 5, 4, 7, 7, 7 /))) call abort
87  if (any (minloc (f(::2,::2), dim = 1).ne.(/ 1, 1, 3, 1, 1 /))) call abort
88  if (any (minval (f(::2,::2), dim = 1).ne.(/ 7, 7, 6, 7, 7 /))) call abort
89  if (any (minloc (f, dim = 2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
90  if (any (minval (f, dim = 2).ne.(/ 7, 7, 7, 7, 5, 4, 7, 7, 7, 7 /))) call abort
91  if (any (minloc (f(::2,::2), dim = 2).ne.(/ 1, 1, 3, 1, 1 /))) call abort
92  if (any (minval (f(::2,::2), dim = 2).ne.(/ 7, 7, 6, 7, 7 /))) call abort
93  if (any (minloc (f).ne.(/ 6, 7 /))) call abort
94  if (minval (f).ne.4) call abort
95  if (any (minloc (f(::2,::2)).ne.(/ 3, 3 /))) call abort
96  if (minval (f(::2,::2)).ne.6) call abort
97  if (minloc (g, dim = 1).ne.7) call abort
98  if (minval (g, dim = 1).ne.6) call abort
99  if (minloc (g(::2), dim = 1).ne.4) call abort
100  if (minval (g(::2), dim = 1).ne.6) call abort
101  if (any (minloc (g).ne.(/ 7 /))) call abort
102  if (minval (g).ne.6) call abort
103  if (any (minloc (g(::2)).ne.(/ 4 /))) call abort
104  if (minval (g(::2)).ne.6) call abort
105  if (any (minloc (h, dim = 1).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
106  if (any (minval (h, dim = 1).ne.(/ 7, 7, 7, 7, 6, 5, 4, 7, 7, 7 /))) call abort
107  if (any (minloc (h(::2,::2), dim = 1).ne.(/ 1, 1, 3, 1, 1 /))) call abort
108  if (any (minval (h(::2,::2), dim = 1).ne.(/ 7, 7, 6, 7, 7 /))) call abort
109  if (any (minloc (h, dim = 2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
110  if (any (minval (h, dim = 2).ne.(/ 7, 7, 7, 7, 5, 4, 7, 7, 7, 7 /))) call abort
111  if (any (minloc (h(::2,::2), dim = 2).ne.(/ 1, 1, 3, 1, 1 /))) call abort
112  if (any (minval (h(::2,::2), dim = 2).ne.(/ 7, 7, 6, 7, 7 /))) call abort
113  if (any (minloc (h).ne.(/ 6, 7 /))) call abort
114  if (minval (h).ne.4) call abort
115  if (any (minloc (h(::2,::2)).ne.(/ 3, 3 /))) call abort
116  if (minval (h(::2,::2)).ne.6) call abort
117  l = .true.
118  l2 = .true.
119  if (minloc (a, dim = 1, mask = l).ne.7) call abort
120  if (minval (a, dim = 1, mask = l).ne.6.0) call abort
121  if (minloc (a(::2), dim = 1, mask = l(::2)).ne.4) call abort
122  if (minval (a(::2), dim = 1, mask = l(::2)).ne.6.0) call abort
123  if (any (minloc (a, mask = l).ne.(/ 7 /))) call abort
124  if (minval (a, mask = l).ne.6.0) call abort
125  if (any (minloc (a(::2), mask = l(::2)).ne.(/ 4 /))) call abort
126  if (minval (a(::2), mask = l(::2)).ne.6.0) call abort
127  if (any (minloc (b, dim = 1, mask = l2).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
128  if (any (minval (b, dim = 1, mask = l2).ne.(/ 7.0, 7.0, 7.0, 7.0, 6.0, 5.0, 4.0, 7.0, 7.0, 7.0 /))) call abort
129  if (any (minloc (b(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
130  if (any (minval (b(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
131  if (any (minloc (b, dim = 2, mask = l2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
132  if (any (minval (b, dim = 2, mask = l2).ne.(/ 7.0, 7.0, 7.0, 7.0, 5.0, 4.0, 7.0, 7.0, 7.0, 7.0 /))) call abort
133  if (any (minloc (b(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
134  if (any (minval (b(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
135  if (any (minloc (b, mask = l2).ne.(/ 6, 7 /))) call abort
136  if (minval (b, mask = l2).ne.4.0) call abort
137  if (any (minloc (b(::2,::2), mask = l2(::2,::2)).ne.(/ 3, 3 /))) call abort
138  if (minval (b(::2,::2), mask = l2(::2,::2)).ne.6.0) call abort
139  if (minloc (c, dim = 1, mask = l).ne.7) call abort
140  if (minval (c, dim = 1, mask = l).ne.6.0) call abort
141  if (minloc (c(::2), dim = 1, mask = l(::2)).ne.4) call abort
142  if (minval (c(::2), dim = 1, mask = l(::2)).ne.6.0) call abort
143  if (any (minloc (c, mask = l).ne.(/ 7 /))) call abort
144  if (minval (c, mask = l).ne.6.0) call abort
145  if (any (minloc (c(::2), mask = l(::2)).ne.(/ 4 /))) call abort
146  if (minval (c(::2), mask = l(::2)).ne.6.0) call abort
147  if (any (minloc (d, dim = 1, mask = l2).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
148  if (any (minval (d, dim = 1, mask = l2).ne.(/ 7.0, 7.0, 7.0, 7.0, 6.0, 5.0, 4.0, 7.0, 7.0, 7.0 /))) call abort
149  if (any (minloc (d(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
150  if (any (minval (d(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
151  if (any (minloc (d, dim = 2, mask = l2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
152  if (any (minval (d, dim = 2, mask = l2).ne.(/ 7.0, 7.0, 7.0, 7.0, 5.0, 4.0, 7.0, 7.0, 7.0, 7.0 /))) call abort
153  if (any (minloc (d(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
154  if (any (minval (d(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 7.0, 7.0, 6.0, 7.0, 7.0 /))) call abort
155  if (any (minloc (d, mask = l2).ne.(/ 6, 7 /))) call abort
156  if (minval (d, mask = l2).ne.4.0) call abort
157  if (any (minloc (d(::2,::2), mask = l2(::2,::2)).ne.(/ 3, 3 /))) call abort
158  if (minval (d(::2,::2), mask = l2(::2,::2)).ne.6.0) call abort
159  if (minloc (e, dim = 1, mask = l).ne.7) call abort
160  if (minval (e, dim = 1, mask = l).ne.6) call abort
161  if (minloc (e(::2), dim = 1, mask = l(::2)).ne.4) call abort
162  if (minval (e(::2), dim = 1, mask = l(::2)).ne.6) call abort
163  if (any (minloc (e, mask = l).ne.(/ 7 /))) call abort
164  if (minval (e, mask = l).ne.6) call abort
165  if (any (minloc (e(::2), mask = l(::2)).ne.(/ 4 /))) call abort
166  if (minval (e(::2), mask = l(::2)).ne.6) call abort
167  if (any (minloc (f, dim = 1, mask = l2).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
168  if (any (minval (f, dim = 1, mask = l2).ne.(/ 7, 7, 7, 7, 6, 5, 4, 7, 7, 7 /))) call abort
169  if (any (minloc (f(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
170  if (any (minval (f(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 7, 7, 6, 7, 7 /))) call abort
171  if (any (minloc (f, dim = 2, mask = l2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
172  if (any (minval (f, dim = 2, mask = l2).ne.(/ 7, 7, 7, 7, 5, 4, 7, 7, 7, 7 /))) call abort
173  if (any (minloc (f(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
174  if (any (minval (f(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 7, 7, 6, 7, 7 /))) call abort
175  if (any (minloc (f, mask = l2).ne.(/ 6, 7 /))) call abort
176  if (minval (f, mask = l2).ne.4) call abort
177  if (any (minloc (f(::2,::2), mask = l2(::2,::2)).ne.(/ 3, 3 /))) call abort
178  if (minval (f(::2,::2), mask = l2(::2,::2)).ne.6) call abort
179  if (minloc (g, dim = 1, mask = l).ne.7) call abort
180  if (minval (g, dim = 1, mask = l).ne.6) call abort
181  if (minloc (g(::2), dim = 1, mask = l(::2)).ne.4) call abort
182  if (minval (g(::2), dim = 1, mask = l(::2)).ne.6) call abort
183  if (any (minloc (g, mask = l).ne.(/ 7 /))) call abort
184  if (minval (g, mask = l).ne.6) call abort
185  if (any (minloc (g(::2), mask = l(::2)).ne.(/ 4 /))) call abort
186  if (minval (g(::2), mask = l(::2)).ne.6) call abort
187  if (any (minloc (h, dim = 1, mask = l2).ne.(/ 1, 1, 1, 1, 5, 5, 6, 1, 1, 1 /))) call abort
188  if (any (minval (h, dim = 1, mask = l2).ne.(/ 7, 7, 7, 7, 6, 5, 4, 7, 7, 7 /))) call abort
189  if (any (minloc (h(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
190  if (any (minval (h(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 7, 7, 6, 7, 7 /))) call abort
191  if (any (minloc (h, dim = 2, mask = l2).ne.(/ 1, 1, 1, 1, 6, 7, 1, 1, 1, 1 /))) call abort
192  if (any (minval (h, dim = 2, mask = l2).ne.(/ 7, 7, 7, 7, 5, 4, 7, 7, 7, 7 /))) call abort
193  if (any (minloc (h(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 1, 1, 3, 1, 1 /))) call abort
194  if (any (minval (h(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 7, 7, 6, 7, 7 /))) call abort
195  if (any (minloc (h, mask = l2).ne.(/ 6, 7 /))) call abort
196  if (minval (h, mask = l2).ne.4) call abort
197  if (any (minloc (h(::2,::2), mask = l2(::2,::2)).ne.(/ 3, 3 /))) call abort
198  if (minval (h(::2,::2), mask = l2(::2,::2)).ne.6) call abort
199  l = .false.
200  l2 = .false.
201  if (minloc (a, dim = 1, mask = l).ne.0) call abort
202  if (minval (a, dim = 1, mask = l).ne.m) call abort
203  if (minloc (a(::2), dim = 1, mask = l(::2)).ne.0) call abort
204  if (minval (a(::2), dim = 1, mask = l(::2)).ne.m) call abort
205  if (any (minloc (a, mask = l).ne.(/ 0 /))) call abort
206  if (minval (a, mask = l).ne.m) call abort
207  if (any (minloc (a(::2), mask = l(::2)).ne.(/ 0 /))) call abort
208  if (minval (a(::2), mask = l(::2)).ne.m) call abort
209  if (any (minloc (b, dim = 1, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
210  if (any (minval (b, dim = 1, mask = l2).ne.(/ m, m, m, m, m, m, m, m, m, m /))) call abort
211  if (any (minloc (b(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
212  if (any (minval (b(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ m, m, m, m, m /))) call abort
213  if (any (minloc (b, dim = 2, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
214  if (any (minval (b, dim = 2, mask = l2).ne.(/ m, m, m, m, m, m, m, m, m, m /))) call abort
215  if (any (minloc (b(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
216  if (any (minval (b(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ m, m, m, m, m /))) call abort
217  if (any (minloc (b, mask = l2).ne.(/ 0, 0 /))) call abort
218  if (minval (b, mask = l2).ne.m) call abort
219  if (any (minloc (b(::2,::2), mask = l2(::2,::2)).ne.(/ 0, 0 /))) call abort
220  if (minval (b(::2,::2), mask = l2(::2,::2)).ne.m) call abort
221  if (minloc (c, dim = 1, mask = l).ne.0) call abort
222  if (minval (c, dim = 1, mask = l).ne.m) call abort
223  if (minloc (c(::2), dim = 1, mask = l(::2)).ne.0) call abort
224  if (minval (c(::2), dim = 1, mask = l(::2)).ne.m) call abort
225  if (any (minloc (c, mask = l).ne.(/ 0 /))) call abort
226  if (minval (c, mask = l).ne.m) call abort
227  if (any (minloc (c(::2), mask = l(::2)).ne.(/ 0 /))) call abort
228  if (minval (c(::2), mask = l(::2)).ne.m) call abort
229  if (any (minloc (d, dim = 1, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
230  if (any (minval (d, dim = 1, mask = l2).ne.(/ m, m, m, m, m, m, m, m, m, m /))) call abort
231  if (any (minloc (d(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
232  if (any (minval (d(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ m, m, m, m, m /))) call abort
233  if (any (minloc (d, dim = 2, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
234  if (any (minval (d, dim = 2, mask = l2).ne.(/ m, m, m, m, m, m, m, m, m, m /))) call abort
235  if (any (minloc (d(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
236  if (any (minval (d(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ m, m, m, m, m /))) call abort
237  if (any (minloc (d, mask = l2).ne.(/ 0, 0 /))) call abort
238  if (minval (d, mask = l2).ne.m) call abort
239  if (any (minloc (d(::2,::2), mask = l2(::2,::2)).ne.(/ 0, 0 /))) call abort
240  if (minval (d(::2,::2), mask = l2(::2,::2)).ne.m) call abort
241  if (minloc (e, dim = 1, mask = l).ne.0) call abort
242  if (minval (e, dim = 1, mask = l).ne.n) call abort
243  if (minloc (e(::2), dim = 1, mask = l(::2)).ne.0) call abort
244  if (minval (e(::2), dim = 1, mask = l(::2)).ne.n) call abort
245  if (any (minloc (e, mask = l).ne.(/ 0 /))) call abort
246  if (minval (e, mask = l).ne.n) call abort
247  if (any (minloc (e(::2), mask = l(::2)).ne.(/ 0 /))) call abort
248  if (minval (e(::2), mask = l(::2)).ne.n) call abort
249  if (any (minloc (f, dim = 1, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
250  if (any (minval (f, dim = 1, mask = l2).ne.(/ n, n, n, n, n, n, n, n, n, n /))) call abort
251  if (any (minloc (f(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
252  if (any (minval (f(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ n, n, n, n, n /))) call abort
253  if (any (minloc (f, dim = 2, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
254  if (any (minval (f, dim = 2, mask = l2).ne.(/ n, n, n, n, n, n, n, n, n, n /))) call abort
255  if (any (minloc (f(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
256  if (any (minval (f(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ n, n, n, n, n /))) call abort
257  if (any (minloc (f, mask = l2).ne.(/ 0, 0 /))) call abort
258  if (minval (f, mask = l2).ne.n) call abort
259  if (any (minloc (f(::2,::2), mask = l2(::2,::2)).ne.(/ 0, 0 /))) call abort
260  if (minval (f(::2,::2), mask = l2(::2,::2)).ne.n) call abort
261  if (minloc (g, dim = 1, mask = l).ne.0) call abort
262  if (minval (g, dim = 1, mask = l).ne.n) call abort
263  if (minloc (g(::2), dim = 1, mask = l(::2)).ne.0) call abort
264  if (minval (g(::2), dim = 1, mask = l(::2)).ne.n) call abort
265  if (any (minloc (g, mask = l).ne.(/ 0 /))) call abort
266  if (minval (g, mask = l).ne.n) call abort
267  if (any (minloc (g(::2), mask = l(::2)).ne.(/ 0 /))) call abort
268  if (minval (g(::2), mask = l(::2)).ne.n) call abort
269  if (any (minloc (h, dim = 1, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
270  if (any (minval (h, dim = 1, mask = l2).ne.(/ n, n, n, n, n, n, n, n, n, n /))) call abort
271  if (any (minloc (h(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
272  if (any (minval (h(::2,::2), dim = 1, mask = l2(::2,::2)).ne.(/ n, n, n, n, n /))) call abort
273  if (any (minloc (h, dim = 2, mask = l2).ne.(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /))) call abort
274  if (any (minval (h, dim = 2, mask = l2).ne.(/ n, n, n, n, n, n, n, n, n, n /))) call abort
275  if (any (minloc (h(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ 0, 0, 0, 0, 0 /))) call abort
276  if (any (minval (h(::2,::2), dim = 2, mask = l2(::2,::2)).ne.(/ n, n, n, n, n /))) call abort
277  if (any (minloc (h, mask = l2).ne.(/ 0, 0 /))) call abort
278  if (minval (h, mask = l2).ne.n) call abort
279  if (any (minloc (h(::2,::2), mask = l2(::2,::2)).ne.(/ 0, 0 /))) call abort
280  if (minval (h(::2,::2), mask = l2(::2,::2)).ne.n) call abort
281  a = 7.0
282  b = 7.0
283  c = 7.0
284  d = 7.0
285end
286