You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Type errors in function declarations were not (always) diagnosed prior
to this patch. Furthermore, certain remarks did not get associated
properly which caused them to be emitted multiple times.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D95912
// TODO: We should diagnose the return type and argument type here.
104
+
// expected-note@+2 {{'ld_return1a' defined here}}
105
+
// expected-error@+1 {{'ld_return1a' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
102
106
longdoubleld_return1a() { return0; }
107
+
// expected-note@+2 {{'ld_arg1a' defined here}}
108
+
// expected-error@+1 {{'ld_arg1a' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
103
109
voidld_arg1a(longdouble ld) {}
104
110
105
111
// TODO: We should diagnose the return type and argument type here.
106
112
typedeflongdouble ld_ty;
113
+
// expected-note@+2 {{'ld_return1b' defined here}}
114
+
// expected-error@+1 {{'ld_return1b' requires 128 bit size 'ld_ty' (aka 'long double') type support, but device 'nvptx64-unknown-unknown' does not support it}}
107
115
ld_ty ld_return1b() { return0; }
116
+
// expected-note@+2 {{'ld_arg1b' defined here}}
117
+
// expected-error@+1 {{'ld_arg1b' requires 128 bit size 'ld_ty' (aka 'long double') type support, but device 'nvptx64-unknown-unknown' does not support it}}
108
118
voidld_arg1b(ld_ty ld) {}
109
119
120
+
// TODO: These errors should not be emitted.
121
+
// expected-note@+2 {{'ld_return1c' defined here}}
122
+
// expected-error@+1 {{'ld_return1c' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
110
123
staticlongdoubleld_return1c() { return0; }
124
+
// expected-note@+2 {{'ld_arg1c' defined here}}
125
+
// expected-error@+1 {{'ld_arg1c' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
111
126
staticvoidld_arg1c(longdouble ld) {}
112
127
128
+
// TODO: These errors should not be emitted.
129
+
// expected-note@+2 {{'ld_return1d' defined here}}
130
+
// expected-error@+1 {{'ld_return1d' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
113
131
inlinelongdoubleld_return1d() { return0; }
132
+
// expected-note@+2 {{'ld_arg1d' defined here}}
133
+
// expected-error@+1 {{'ld_arg1d' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
114
134
inlinevoidld_arg1d(longdouble ld) {}
115
135
136
+
// expected-error@+2 {{'ld_return1e' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
116
137
// expected-note@+1 {{'ld_return1e' defined here}}
117
138
staticlongdoubleld_return1e() { return0; }
139
+
// expected-error@+2 {{'ld_arg1e' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
118
140
// expected-note@+1 {{'ld_arg1e' defined here}}
119
141
staticvoidld_arg1e(longdouble ld) {}
120
142
143
+
// expected-error@+2 {{'ld_return1f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
121
144
// expected-note@+1 {{'ld_return1f' defined here}}
122
145
inlinelongdoubleld_return1f() { return0; }
146
+
// expected-error@+2 {{'ld_arg1f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
123
147
// expected-note@+1 {{'ld_arg1f' defined here}}
124
148
inlinevoidld_arg1f(longdouble ld) {}
125
149
@@ -152,46 +176,47 @@ static void ld_use4() {
152
176
}
153
177
154
178
voidexternal() {
155
-
// expected-error@+1 {{'ld_return1e' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
156
179
void *p1 = reinterpret_cast<void*>(&ld_return1e);
157
-
// expected-error@+1 {{'ld_arg1e' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
158
180
void *p2 = reinterpret_cast<void*>(&ld_arg1e);
159
-
// expected-error@+1 {{'ld_return1f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
160
181
void *p3 = reinterpret_cast<void*>(&ld_return1f);
161
-
// expected-error@+1 {{'ld_arg1f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
162
182
void *p4 = reinterpret_cast<void*>(&ld_arg1f);
163
183
void *p5 = reinterpret_cast<void*>(&ld_use3);
164
184
void *p6 = reinterpret_cast<void*>(&ld_use4);
165
185
}
166
186
167
187
#ifndef _ARCH_PPC
168
-
// TODO: We should diagnose the return type and argument type here.
188
+
// expected-note@+2 {{'ld_return2a' defined here}}
189
+
// expected-error@+1 {{'ld_return2a' requires 128 bit size '__float128' type support, but device 'nvptx64-unknown-unknown' does not support it}}
169
190
__float128 ld_return2a() { return0; }
191
+
// expected-note@+2 {{'ld_arg2a' defined here}}
192
+
// expected-error@+1 {{'ld_arg2a' requires 128 bit size '__float128' type support, but device 'nvptx64-unknown-unknown' does not support it}}
170
193
voidld_arg2a(__float128 ld) {}
171
194
172
-
// TODO: We should diagnose the return type and argument type here.
173
195
typedef __float128 fp128_ty;
196
+
// expected-note@+2 {{'ld_return2b' defined here}}
197
+
// expected-error@+1 {{'ld_return2b' requires 128 bit size 'fp128_ty' (aka '__float128') type support, but device 'nvptx64-unknown-unknown' does not support it}}
174
198
fp128_ty ld_return2b() { return0; }
199
+
// expected-note@+2 {{'ld_arg2b' defined here}}
200
+
// expected-error@+1 {{'ld_arg2b' requires 128 bit size 'fp128_ty' (aka '__float128') type support, but device 'nvptx64-unknown-unknown' does not support it}}
175
201
voidld_arg2b(fp128_ty ld) {}
176
202
#endif
177
203
178
204
#pragma omp end declare target
179
205
180
206
// TODO: There should not be an error here, dead_inline is never emitted.
181
-
// expected-note@+1 3{{'f' defined here}}
207
+
// expected-note@+1 {{'f' defined here}}
182
208
inlinelongdoubledead_inline(longdouble f) {
183
209
#pragma omp target map(f)
184
-
// TODO: We should not emit the same error message 3 times, here and elsewhere in this file.
185
-
// expected-error@+1 3{{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
210
+
// expected-error@+1 {{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
186
211
f = 1;
187
212
return f;
188
213
}
189
214
190
215
// TODO: There should not be an error here, dead_static is never emitted.
191
-
// expected-note@+1 3{{'f' defined here}}
216
+
// expected-note@+1 {{'f' defined here}}
192
217
staticlongdoubledead_static(longdouble f) {
193
218
#pragma omp target map(f)
194
-
// expected-error@+1 3{{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
219
+
// expected-error@+1 {{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
195
220
f = 1;
196
221
return f;
197
222
}
@@ -204,18 +229,18 @@ long double dead_template(long double f) {
204
229
}
205
230
206
231
#ifndef _ARCH_PPC
207
-
// expected-note@+1 3{{'f' defined here}}
232
+
// expected-note@+1 {{'f' defined here}}
208
233
__float128 foo2(__float128 f) {
209
234
#pragma omp target map(f)
210
-
// expected-error@+1 3{{'f' requires 128 bit size '__float128' type support, but device 'nvptx64-unknown-unknown' does not support it}}
235
+
// expected-error@+1 {{'f' requires 128 bit size '__float128' type support, but device 'nvptx64-unknown-unknown' does not support it}}
211
236
f = 1;
212
237
return f;
213
238
}
214
239
#else
215
-
// expected-note@+1 3{{'f' defined here}}
240
+
// expected-note@+1 {{'f' defined here}}
216
241
longdoublefoo3(longdouble f) {
217
242
#pragma omp target map(f)
218
-
// expected-error@+1 3{{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
243
+
// expected-error@+1 {{'f' requires 128 bit size 'long double' type support, but device 'nvptx64-unknown-unknown' does not support it}}
0 commit comments