annotate gcc/testsuite/gfortran.dg/bounds_check_3.f90 @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 integer,parameter :: n = 5, m = 8
kono
parents:
diff changeset
3 integer a(10), i
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 print *, a(15:14) ! don't warn
kono
parents:
diff changeset
6 print *, a(14:15) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
7 print *, a(-5:-6) ! don't warn
kono
parents:
diff changeset
8 print *, a(-6:-5) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
9 print *, a(15:14:1) ! don't warn
kono
parents:
diff changeset
10 print *, a(14:15:1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
11 print *, a(-5:-6:1) ! don't warn
kono
parents:
diff changeset
12 print *, a(-6:-5:1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
13 print *, a(15:14:-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
14 print *, a(14:15:-1) ! don't warn
kono
parents:
diff changeset
15 print *, a(-5:-6:-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
16 print *, a(-6:-5:-1) ! don't warn
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 print *, a(15:) ! don't warn
kono
parents:
diff changeset
19 print *, a(15::-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
20 print *, a(-1:) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
21 print *, a(-1::-1) ! don't warn
kono
parents:
diff changeset
22 print *, a(:-1) ! don't warn
kono
parents:
diff changeset
23 print *, a(:-1:-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
24 print *, a(:11) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
25 print *, a(:11:-1) ! don't warn
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 print *, a(1:20:10) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
28 print *, a(1:15:15) ! don't warn
kono
parents:
diff changeset
29 print *, a(1:16:15) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
30 print *, a(10:15:6) ! don't warn
kono
parents:
diff changeset
31 print *, a(11:15:6) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
32 print *, a(11:-5:6) ! don't warn
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 print *, a(10:-8:-9) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
35 print *, a(10:-7:-9) ! don't warn
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 print *, a(0:0:-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
38 print *, a(0:0:1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
39 print *, a(0:0) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 print *, a(1:15:i) ! don't warn
kono
parents:
diff changeset
42 print *, a(1:15:n) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
43 print *, a(1:15:m) ! don't warn
kono
parents:
diff changeset
44
kono
parents:
diff changeset
45 print *, a(1:-5:-m) ! don't warn
kono
parents:
diff changeset
46 print *, a(1:-5:-n) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
47 print *, a(1:-5:-i) ! don't warn
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 print *, a(-5:-5) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
50 print *, a(15:15) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
51 print *, a(-5:-5:1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
52 print *, a(15:15:-1) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
53 print *, a(-5:-5:2) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
54 print *, a(15:15:-2) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
55 print *, a(-5:-5:n) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
56 print *, a(15:15:-n) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
57 print *, a(-5:-5:i) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
58 print *, a(15:15:-i) ! { dg-warning "is out of bounds" }
kono
parents:
diff changeset
59 print *, a(5:5) ! don't warn
kono
parents:
diff changeset
60 print *, a(5:5:1) ! don't warn
kono
parents:
diff changeset
61 print *, a(5:5:-1) ! don't warn
kono
parents:
diff changeset
62 print *, a(5:5:2) ! don't warn
kono
parents:
diff changeset
63 print *, a(5:5:-2) ! don't warn
kono
parents:
diff changeset
64 print *, a(5:5:n) ! don't warn
kono
parents:
diff changeset
65 print *, a(5:5:-n) ! don't warn
kono
parents:
diff changeset
66 print *, a(5:5:i) ! don't warn
kono
parents:
diff changeset
67 print *, a(5:5:-i) ! don't warn
kono
parents:
diff changeset
68
kono
parents:
diff changeset
69 end