1 ! Fails on x86 targets where sizeof(long double) == 16.
3 ! { dg-additional-sources PR100914.c }
4 ! { dg-require-effective-target fortran_real_c_float128 }
5 ! { dg-additional-options "-Wno-pedantic" }
7 ! Test the fix for PR100914
12 use, intrinsic :: iso_c_binding
, only
: &
13 c_signed_char
, c_int16_t
21 CFI_type_float_Complex
, &
22 CFI_type_double_Complex
, &
23 CFI_type_long_double_Complex
, &
24 CFI_type_float128_Complex
34 integer, parameter :: CFI_type_t
= c_int16_t
36 integer(kind
=c_int16_t
), parameter :: CFI_type_mask
= int(z
"FF", kind
=c_int16_t
)
37 integer(kind
=c_int16_t
), parameter :: CFI_type_kind_shift
= 8_c_int16_t
39 ! Intrinsic types. Their kind number defines their storage size. */
40 integer(kind
=c_signed_char
), parameter :: CFI_type_Complex
= 4
42 ! C-Fortran Interoperability types.
43 integer(kind
=cfi_type_t
), parameter :: CFI_type_float_Complex
= &
44 ior(int(CFI_type_Complex
, kind
=c_int16_t
), shiftl(4_c_int16_t
, CFI_type_kind_shift
))
45 integer(kind
=cfi_type_t
), parameter :: CFI_type_double_Complex
= &
46 ior(int(CFI_type_Complex
, kind
=c_int16_t
), shiftl(8_c_int16_t
, CFI_type_kind_shift
))
47 integer(kind
=cfi_type_t
), parameter :: CFI_type_long_double_Complex
= &
48 ior(int(CFI_type_Complex
, kind
=c_int16_t
), shiftl(10_c_int16_t
, CFI_type_kind_shift
))
49 integer(kind
=cfi_type_t
), parameter :: CFI_type_float128_Complex
= &
50 ior(int(CFI_type_Complex
, kind
=c_int16_t
), shiftl(16_c_int16_t
, CFI_type_kind_shift
))
53 subroutine check_tk_as(a
, t
, k
, e
, n
) &
54 bind(c
, name
="check_tk")
55 use, intrinsic :: iso_c_binding
, only
: &
56 c_int16_t
, c_signed_char
, c_size_t
58 type(*), intent(in
) :: a(:)
59 integer(c_int16_t
), value
, intent(in
) :: t
60 integer(c_signed_char
), value
, intent(in
) :: k
61 integer(c_size_t
), value
, intent(in
) :: e
62 integer(c_size_t
), value
, intent(in
) :: n
63 end subroutine check_tk_as
64 subroutine check_tk_ar(a
, t
, k
, e
, n
) &
65 bind(c
, name
="check_tk")
66 use, intrinsic :: iso_c_binding
, only
: &
67 c_int16_t
, c_signed_char
, c_size_t
69 type(*), intent(in
) :: a(..)
70 integer(c_int16_t
), value
, intent(in
) :: t
71 integer(c_signed_char
), value
, intent(in
) :: k
72 integer(c_size_t
), value
, intent(in
) :: e
73 integer(c_size_t
), value
, intent(in
) :: n
74 end subroutine check_tk_ar
79 elemental
function cfi_encode_type(type, kind
) result(itype
)
80 integer(kind
=c_signed_char
), intent(in
) :: type
81 integer(kind
=c_signed_char
), intent(in
) :: kind
83 integer(kind
=c_int16_t
) :: itype
, ikind
85 itype
= int(type, kind
=c_int16_t
)
86 itype
= iand(itype
, CFI_type_mask
)
87 ikind
= int(kind
, kind
=c_int16_t
)
88 ikind
= iand(ikind
, CFI_type_mask
)
89 ikind
= shiftl(ikind
, CFI_type_kind_shift
)
90 itype
= ior(ikind
, itype
)
92 end function cfi_encode_type
98 use, intrinsic :: iso_c_binding
, only
: &
99 c_signed_char
, c_int16_t
, c_size_t
101 use, intrinsic :: iso_c_binding
, only
: &
104 c_long_double_complex
, &
107 use :: isof_m
, only
: &
110 use :: isof_m
, only
: &
111 CFI_type_float_Complex
, &
112 CFI_type_double_Complex
, &
113 CFI_type_long_double_Complex
, &
114 CFI_type_float128_Complex
116 use :: isof_m
, only
: &
120 use :: isof_m
, only
: &
128 check_c_float_complex
, &
129 check_c_double_complex
, &
130 check_c_long_double_complex
, &
131 check_c_float128_complex
134 integer(kind
=c_size_t
), parameter :: b
= 8
135 integer, parameter :: n
= 11
137 complex(kind
=c_float_complex
), parameter :: ref_c_float_complex(*) = &
138 [(cmplx(i
, 2*i
, kind
=c_float_complex
), i
=1,n
)]
139 complex(kind
=c_double_complex
), parameter :: ref_c_double_complex(*) = &
140 [(cmplx(i
, 2*i
, kind
=c_double_complex
), i
=1,n
)]
141 complex(kind
=c_long_double_complex
), parameter :: ref_c_long_double_complex(*) = &
142 [(cmplx(i
, 2*i
, kind
=c_long_double_complex
), i
=1,n
)]
143 complex(kind
=c_float128_complex
), parameter :: ref_c_float128_complex(*) = &
144 [(cmplx(i
, 2*i
, kind
=c_float128_complex
), i
=1,n
)]
148 ! CFI_type_float_complex
149 subroutine check_c_float_complex()
150 complex(kind
=c_float_complex
) :: a(n
)
152 if (c_float_complex
/=4) stop 1
153 a
= ref_c_float_complex
154 call f_check_c_float_complex_as(a
)
155 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 2
156 a
= ref_c_float_complex
157 call c_check_c_float_complex_as(a
)
158 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 3
159 a
= ref_c_float_complex
160 call f_check_c_float_complex_ar(a
)
161 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 4
162 a
= ref_c_float_complex
163 call c_check_c_float_complex_ar(a
)
164 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 5
166 end subroutine check_c_float_complex
168 subroutine f_check_c_float_complex_as(a
)
169 complex(kind
=c_float_complex
), intent(in
) :: a(:)
171 integer(kind
=c_int16_t
) :: t
172 integer(kind
=c_signed_char
) :: k
173 integer(kind
=c_size_t
) :: e
176 e
= storage_size(a
)/b
177 t
= cfi_encode_type(CFI_type_complex
, k
)
178 if(k
<=0_c_signed_char
) stop 6
179 if(k
/=4_c_signed_char
) stop 7
180 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 8
181 if(t
/=CFI_type_float_complex
) stop 9
182 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 10
183 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
184 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 11
186 end subroutine f_check_c_float_complex_as
188 subroutine c_check_c_float_complex_as(a
) bind(c
)
189 complex(kind
=c_float_complex
), intent(in
) :: a(:)
191 integer(kind
=c_int16_t
) :: t
192 integer(kind
=c_signed_char
) :: k
193 integer(kind
=c_size_t
) :: e
196 e
= storage_size(a
)/b
197 t
= cfi_encode_type(CFI_type_complex
, k
)
198 if(k
<=0_c_signed_char
) stop 12
199 if(k
/=4_c_signed_char
) stop 13
200 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 14
201 if(t
/=CFI_type_float_complex
) stop 15
202 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 16
203 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
204 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 17
206 end subroutine c_check_c_float_complex_as
208 subroutine f_check_c_float_complex_ar(a
)
209 complex(kind
=c_float_complex
), intent(in
) :: a(..)
211 integer(kind
=c_int16_t
) :: t
212 integer(kind
=c_signed_char
) :: k
213 integer(kind
=c_size_t
) :: e
216 e
= storage_size(a
)/b
217 t
= cfi_encode_type(CFI_type_complex
, k
)
218 if(k
<=0_c_signed_char
) stop 18
219 if(k
/=4_c_signed_char
) stop 19
220 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 20
221 if(t
/=CFI_type_float_complex
) stop 21
224 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 22
228 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
231 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 24
236 end subroutine f_check_c_float_complex_ar
238 subroutine c_check_c_float_complex_ar(a
) bind(c
)
239 complex(kind
=c_float_complex
), intent(in
) :: a(..)
241 integer(kind
=c_int16_t
) :: t
242 integer(kind
=c_signed_char
) :: k
243 integer(kind
=c_size_t
) :: e
246 e
= storage_size(a
)/b
247 t
= cfi_encode_type(CFI_type_complex
, k
)
248 if(k
<=0_c_signed_char
) stop 26
249 if(k
/=4_c_signed_char
) stop 27
250 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 28
251 if(t
/=CFI_type_float_complex
) stop 29
254 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 30
258 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
261 if(any(abs(a
-ref_c_float_complex
)>0.0_c_float_complex
)) stop 32
266 end subroutine c_check_c_float_complex_ar
268 ! CFI_type_double_complex
269 subroutine check_c_double_complex()
270 complex(kind
=c_double_complex
) :: a(n
)
272 if (c_double_complex
/=8) stop 34
273 a
= ref_c_double_complex
274 call f_check_c_double_complex_as(a
)
275 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 35
276 a
= ref_c_double_complex
277 call c_check_c_double_complex_as(a
)
278 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 36
279 a
= ref_c_double_complex
280 call f_check_c_double_complex_ar(a
)
281 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 37
282 a
= ref_c_double_complex
283 call c_check_c_double_complex_ar(a
)
284 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 38
286 end subroutine check_c_double_complex
288 subroutine f_check_c_double_complex_as(a
)
289 complex(kind
=c_double_complex
), intent(in
) :: a(:)
291 integer(kind
=c_int16_t
) :: t
292 integer(kind
=c_signed_char
) :: k
293 integer(kind
=c_size_t
) :: e
296 e
= storage_size(a
)/b
297 t
= cfi_encode_type(CFI_type_complex
, k
)
298 if(k
<=0_c_signed_char
) stop 39
299 if(k
/=8_c_signed_char
) stop 40
300 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 41
301 if(t
/=CFI_type_double_complex
) stop 42
302 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 43
303 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
304 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 44
306 end subroutine f_check_c_double_complex_as
308 subroutine c_check_c_double_complex_as(a
) bind(c
)
309 complex(kind
=c_double_complex
), intent(in
) :: a(:)
311 integer(kind
=c_int16_t
) :: t
312 integer(kind
=c_signed_char
) :: k
313 integer(kind
=c_size_t
) :: e
316 e
= storage_size(a
)/b
317 t
= cfi_encode_type(CFI_type_complex
, k
)
318 if(k
<=0_c_signed_char
) stop 45
319 if(k
/=8_c_signed_char
) stop 46
320 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 47
321 if(t
/=CFI_type_double_complex
) stop 48
322 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 49
323 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
324 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 50
326 end subroutine c_check_c_double_complex_as
328 subroutine f_check_c_double_complex_ar(a
)
329 complex(kind
=c_double_complex
), intent(in
) :: a(..)
331 integer(kind
=c_int16_t
) :: t
332 integer(kind
=c_signed_char
) :: k
333 integer(kind
=c_size_t
) :: e
336 e
= storage_size(a
)/b
337 t
= cfi_encode_type(CFI_type_complex
, k
)
338 if(k
<=0_c_signed_char
) stop 51
339 if(k
/=8_c_signed_char
) stop 52
340 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 53
341 if(t
/=CFI_type_double_complex
) stop 54
344 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 55
348 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
351 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 57
356 end subroutine f_check_c_double_complex_ar
358 subroutine c_check_c_double_complex_ar(a
) bind(c
)
359 complex(kind
=c_double_complex
), intent(in
) :: a(..)
361 integer(kind
=c_int16_t
) :: t
362 integer(kind
=c_signed_char
) :: k
363 integer(kind
=c_size_t
) :: e
366 e
= storage_size(a
)/b
367 t
= cfi_encode_type(CFI_type_complex
, k
)
368 if(k
<=0_c_signed_char
) stop 59
369 if(k
/=8_c_signed_char
) stop 60
370 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 61
371 if(t
/=CFI_type_double_complex
) stop 62
374 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 63
378 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
381 if(any(abs(a
-ref_c_double_complex
)>0.0_c_double_complex
)) stop 65
386 end subroutine c_check_c_double_complex_ar
388 ! CFI_type_long_double_complex
389 subroutine check_c_long_double_complex()
390 complex(kind
=c_long_double_complex
) :: a(n
)
392 if (c_long_double_complex
/=10) stop 67
393 a
= ref_c_long_double_complex
394 call f_check_c_long_double_complex_as(a
)
395 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 68
396 a
= ref_c_long_double_complex
397 call c_check_c_long_double_complex_as(a
)
398 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 69
399 a
= ref_c_long_double_complex
400 call f_check_c_long_double_complex_ar(a
)
401 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 70
402 a
= ref_c_long_double_complex
403 call c_check_c_long_double_complex_ar(a
)
404 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 71
406 end subroutine check_c_long_double_complex
408 subroutine f_check_c_long_double_complex_as(a
)
409 complex(kind
=c_long_double_complex
), intent(in
) :: a(:)
411 integer(kind
=c_int16_t
) :: t
412 integer(kind
=c_signed_char
) :: k
413 integer(kind
=c_size_t
) :: e
416 e
= storage_size(a
)/b
417 t
= cfi_encode_type(CFI_type_complex
, k
)
418 if(k
<=0_c_signed_char
) stop 72
419 if(k
/=10_c_signed_char
) stop 73
421 if(t
/=CFI_type_long_double_complex
) stop 75
422 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 76
423 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
424 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 77
426 end subroutine f_check_c_long_double_complex_as
428 subroutine c_check_c_long_double_complex_as(a
) bind(c
)
429 complex(kind
=c_long_double_complex
), intent(in
) :: a(:)
431 integer(kind
=c_int16_t
) :: t
432 integer(kind
=c_signed_char
) :: k
433 integer(kind
=c_size_t
) :: e
436 e
= storage_size(a
)/b
437 t
= cfi_encode_type(CFI_type_complex
, k
)
438 if(k
<=0_c_signed_char
) stop 78
439 if(k
/=10_c_signed_char
) stop 79
441 if(t
/=CFI_type_long_double_complex
) stop 81
442 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 82
443 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
444 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 83
446 end subroutine c_check_c_long_double_complex_as
448 subroutine f_check_c_long_double_complex_ar(a
)
449 complex(kind
=c_long_double_complex
), intent(in
) :: a(..)
451 integer(kind
=c_int16_t
) :: t
452 integer(kind
=c_signed_char
) :: k
453 integer(kind
=c_size_t
) :: e
456 e
= storage_size(a
)/b
457 t
= cfi_encode_type(CFI_type_complex
, k
)
458 if(k
<=0_c_signed_char
) stop 84
459 if(k
/=10_c_signed_char
) stop 85
461 if(t
/=CFI_type_long_double_complex
) stop 87
464 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 88
468 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
471 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 90
476 end subroutine f_check_c_long_double_complex_ar
478 subroutine c_check_c_long_double_complex_ar(a
) bind(c
)
479 complex(kind
=c_long_double_complex
), intent(in
) :: a(..)
481 integer(kind
=c_int16_t
) :: t
482 integer(kind
=c_signed_char
) :: k
483 integer(kind
=c_size_t
) :: e
486 e
= storage_size(a
)/b
487 t
= cfi_encode_type(CFI_type_complex
, k
)
488 if(k
<=0_c_signed_char
) stop 92
489 if(k
/=10_c_signed_char
) stop 93
491 if(t
/=CFI_type_long_double_complex
) stop 95
494 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 96
498 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
501 if(any(abs(a
-ref_c_long_double_complex
)>0.0_c_long_double_complex
)) stop 98
506 end subroutine c_check_c_long_double_complex_ar
508 ! CFI_type_float128_complex
509 subroutine check_c_float128_complex()
510 complex(kind
=c_float128_complex
) :: a(n
)
512 if (c_float128_complex
/=16) stop 100
513 a
= ref_c_float128_complex
514 call f_check_c_float128_complex_as(a
)
515 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 101
516 a
= ref_c_float128_complex
517 call c_check_c_float128_complex_as(a
)
518 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 102
519 a
= ref_c_float128_complex
520 call f_check_c_float128_complex_ar(a
)
521 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 103
522 a
= ref_c_float128_complex
523 call c_check_c_float128_complex_ar(a
)
524 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 104
526 end subroutine check_c_float128_complex
528 subroutine f_check_c_float128_complex_as(a
)
529 complex(kind
=c_float128_complex
), intent(in
) :: a(:)
531 integer(kind
=c_int16_t
) :: t
532 integer(kind
=c_signed_char
) :: k
533 integer(kind
=c_size_t
) :: e
536 e
= storage_size(a
)/b
537 t
= cfi_encode_type(CFI_type_complex
, k
)
538 if(k
<=0_c_signed_char
) stop 105
539 if(k
/=16_c_signed_char
) stop 106
540 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 107
541 if(t
/=CFI_type_float128_complex
) stop 108
542 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 109
543 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
544 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 110
546 end subroutine f_check_c_float128_complex_as
548 subroutine c_check_c_float128_complex_as(a
) bind(c
)
549 complex(kind
=c_float128_complex
), intent(in
) :: a(:)
551 integer(kind
=c_int16_t
) :: t
552 integer(kind
=c_signed_char
) :: k
553 integer(kind
=c_size_t
) :: e
556 e
= storage_size(a
)/b
557 t
= cfi_encode_type(CFI_type_complex
, k
)
558 if(k
<=0_c_signed_char
) stop 111
559 if(k
/=16_c_signed_char
) stop 112
560 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 113
561 if(t
/=CFI_type_float128_complex
) stop 114
562 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 115
563 call check_tk_as(a
, t
, k
, e
, 1_c_size_t
)
564 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 116
566 end subroutine c_check_c_float128_complex_as
568 subroutine f_check_c_float128_complex_ar(a
)
569 complex(kind
=c_float128_complex
), intent(in
) :: a(..)
571 integer(kind
=c_int16_t
) :: t
572 integer(kind
=c_signed_char
) :: k
573 integer(kind
=c_size_t
) :: e
576 e
= storage_size(a
)/b
577 t
= cfi_encode_type(CFI_type_complex
, k
)
578 if(k
<=0_c_signed_char
) stop 117
579 if(k
/=16_c_signed_char
) stop 118
580 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 119
581 if(t
/=CFI_type_float128_complex
) stop 120
584 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 121
588 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
591 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 123
596 end subroutine f_check_c_float128_complex_ar
598 subroutine c_check_c_float128_complex_ar(a
) bind(c
)
599 complex(kind
=c_float128_complex
), intent(in
) :: a(..)
601 integer(kind
=c_int16_t
) :: t
602 integer(kind
=c_signed_char
) :: k
603 integer(kind
=c_size_t
) :: e
606 e
= storage_size(a
)/b
607 t
= cfi_encode_type(CFI_type_complex
, k
)
608 if(k
<=0_c_signed_char
) stop 125
609 if(k
/=16_c_signed_char
) stop 126
610 if(int(k
, kind
=c_size_t
)/=(e
/2)) stop 127
611 if(t
/=CFI_type_float128_complex
) stop 128
614 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 129
618 call check_tk_ar(a
, t
, k
, e
, 1_c_size_t
)
621 if(any(abs(a
-ref_c_float128_complex
)>0.0_c_float128_complex
)) stop 131
626 end subroutine c_check_c_float128_complex_ar
628 end module iso_check_m
632 use :: iso_check_m
, only
: &
633 check_c_float_complex
, &
634 check_c_double_complex
, &
635 check_c_long_double_complex
, &
636 check_c_float128_complex
640 call check_c_float_complex()
641 call check_c_double_complex()
643 ! call check_c_long_double_complex()
644 call check_c_float128_complex()