1! xfailed due to PR 101308
2! PR 101305
3! PR 100914
4! { dg-do run }
5! { dg-require-effective-target fortran_real_c_float128 }
6! { dg-additional-sources "typecodes-scalar-float128-c.c dump-descriptors.c" }
7! { dg-additional-options "-g" }
8!
9! This program tests that the vendor extension kind constants provided by
10! gfortran's ISO_C_BINDING module result in the right type field in
11! arguments passed by descriptor,also matching the size of the corresponding
12! C type.  We use pointers to force the use of a descriptor.
13
14program testit
15  use iso_c_binding
16  implicit none
17
18  interface
19
20    subroutine ctest (arg_float128, arg_complex128) bind (c)
21      use iso_c_binding
22      real(C_FLOAT128), pointer :: arg_float128
23      complex(C_FLOAT128_COMPLEX), pointer :: arg_complex128
24    end subroutine
25
26  end interface
27
28  real(C_FLOAT128), pointer :: var_float128
29  complex(C_FLOAT128_COMPLEX), pointer :: var_complex128
30
31  nullify (var_float128, var_complex128)
32  call ctest (var_float128, var_complex128)
33
34end program
35