1// Test the FIR types parser diagnostics
2// RUN: fir-opt -split-input-file -verify-diagnostics %s
3
4// expected-error@+1 {{expected non-function type}}
5func.func private @box3() -> !fir.boxproc<>
6
7// -----
8
9// expected-error@+2 {{expected attribute value}}
10// expected-error@+1 {{expected affine map}}
11func.func private @box1() -> !fir.box<!fir.array<?xf32>, >
12
13// -----
14
15// expected-error@+1 {{expected non-function type}}
16func.func private @box1() -> !fir.box<>
17
18// -----
19
20// expected-error@+1 {{expected integer value}}
21func.func private @box2() -> !fir.boxchar<>
22
23// -----
24
25// expected-error@+1 {{expected integer value}}
26func.func private @it6() -> !fir.char<>
27
28// -----
29
30// expected-error@+1 {{expected integer value}}
31func.func private @it6() -> !fir.char<2, >
32
33// -----
34
35// expected-error@+1 {{expected integer value}}
36func.func private @it3() -> !fir.complex<>
37
38// -----
39
40// expected-error@+1 {{expected non-function type}}
41func.func private @mem3() -> !fir.heap<>
42
43// -----
44
45// expected-error@+1 {{expected integer value}}
46func.func private @it1() -> !fir.int<A>
47
48// -----
49
50// expected-error@+1 {{expected integer value}}
51func.func private @it1() -> !fir.logical<b>
52
53// -----
54
55// expected-error@+1 {{expected non-function type}}
56func.func private @mem3() -> !fir.ptr<>
57
58// -----
59
60// expected-error@+1 {{expected integer value}}
61func.func private @mem3() -> !fir.real<>
62
63// -----
64
65// expected-error@+1 {{expected valid keyword}}
66func.func private @mem3() -> !fir.type<>
67
68// -----
69
70// expected-error@+2 {{expected valid keyword}}
71// expected-error@+1 {{expected LEN parameter list}}
72func.func private @dvd4() -> !fir.type<derived4()>
73
74// -----
75
76// expected-error@+2 {{expected ':'}}
77// expected-error@+1 {{expected LEN parameter list}}
78func.func private @dvd4() -> !fir.type<derived4(p)>
79
80// -----
81
82// expected-error@+2 {{expected non-function type}}
83// expected-error@+1 {{expected LEN parameter list}}
84func.func private @dvd4() -> !fir.type<derived4(p:)>
85
86// -----
87
88// expected-error@+2 {{expected valid keyword}}
89// expected-error@+1 {{expected field type list}}
90func.func private @dvd4() -> !fir.type<derived4(p:i8){}>
91
92// -----
93
94// expected-error@+2 {{expected ':'}}
95// expected-error@+1 {{expected field type list}}
96func.func private @dvd4() -> !fir.type<derived4(p:i8){f1}>
97
98// -----
99
100// expected-error@+2 {{expected non-function type}}
101// expected-error@+1 {{expected field type list}}
102func.func private @dvd4() -> !fir.type<derived4(p:i8){f1:f2}>
103
104// -----
105
106// expected-error@+2 {{expected valid keyword}}
107// expected-error@+1 {{expected field type list}}
108func.func private @dvd4() -> !fir.type<derived4(p:i8){f1:i32,}>
109
110// -----
111
112// expected-error@+2 {{expected valid keyword}}
113// expected-error@+1 {{expected field type list}}
114func.func private @dvd4() -> !fir.type<derived4(p:i8){,}>
115
116// -----
117
118// expected-error@+1 {{expected non-function type}}
119func.func private @mem3() -> !fir.ref<>
120
121// -----
122
123// expected-error@+1 {{expected ':'}}
124func.func private @arr1() -> !fir.array<*>
125
126// -----
127
128// expected-error@+1 {{expected non-function type}}
129func.func private @arr1() -> !fir.array<*:>
130
131// -----
132
133// expected-error@+1 {{expected integer value}}
134func.func private @oth1() -> !fir.shape<>
135
136// -----
137
138// expected-error@+1 {{expected integer value}}
139func.func private @oth1() -> !fir.shapeshift<>
140
141// -----
142
143// expected-error@+1 {{expected integer value}}
144func.func private @oth1() -> !fir.shift<>
145
146// -----
147
148// expected-error@+1 {{expected integer value}}
149func.func private @oth1() -> !fir.slice<>
150
151// -----
152
153// expected-error@+1 {{expected non-function type}}
154func.func private @oth3() -> !fir.tdesc<xx>
155
156// -----
157
158// expected-error@+1 {{expected integer value}}
159func.func private @oth3() -> !fir.vector<>
160
161// -----
162
163// expected-error@+1 {{expected ':'}}
164func.func private @oth3() -> !fir.vector<10>
165
166// -----
167
168// expected-error@+1 {{expected non-function type}}
169func.func private @oth3() -> !fir.vector<10:>
170