https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106079
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And on the box I was working on this fix (Fedora 34, glibc 2.33) without the
fix I see in ../configure --enable-languages=c,c++,fortran
--with-long-double-format=ieee --with-long-double-128
make check-gfortran RUNTESTFLAGS='dg.exp=boz* c-interop.exp'
Running /home/jakub/gcc/gcc/testsuite/gfortran.dg/c-interop/c-interop.exp ...
Running /home/jakub/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
FAIL: gfortran.dg/boz_15.f90 -O0 execution test
FAIL: gfortran.dg/boz_15.f90 -O1 execution test
FAIL: gfortran.dg/boz_15.f90 -O2 execution test
FAIL: gfortran.dg/boz_15.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/boz_15.f90 -O3 -g execution test
FAIL: gfortran.dg/boz_15.f90 -Os execution test
=== gfortran Summary ===
# of expected passes 1963
# of unexpected failures 6
# of unsupported tests 12
and with the change:
Running /home/jakub/gcc/gcc/testsuite/gfortran.dg/c-interop/c-interop.exp ...
Running /home/jakub/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
=== gfortran Summary ===
# of expected passes 1969
# of unsupported tests 12
For the latter
<CFI_cdesc_t base_addr=(nil) elem_len=16 version=1
rank=0 type=CFI_type_struct attribute=CFI_attribute_allocatable>
PASS: gfortran.dg/c-interop/allocatable-dummy.f90 -Os execution test
CFI_allocate: Base address of C descriptor must be NULL.
CFI_allocate: The object of the C descriptor must be a pointer or allocatable
variable.
CFI_deallocate: Base address is already NULL.
PASS: gfortran.dg/c-interop/allocate-errors.f90 -O0 execution test
PASS: gfortran.dg/c-interop/argument-association-assumed-rank-7.f90 -O1
execution test
PASS: gfortran.dg/c-interop/argument-association-assumed-rank-7.f90 -O2
(test for excess errors)
<CFI_cdesc_t base_addr=(nil) elem_len=8 version=1
rank=0 type=CFI_type_struct attribute=CFI_attribute_allocatable>
<CFI_cdesc_t base_addr=(nil) elem_len=8 version=1
rank=0 type=CFI_type_struct attribute=CFI_attribute_pointer>
<CFI_cdesc_t base_addr=0x1000e341910 elem_len=8 version=1
rank=0 type=CFI_type_struct attribute=CFI_attribute_allocatable>
<CFI_cdesc_t base_addr=0x1000e341930 elem_len=8 version=1
rank=0 type=CFI_type_struct attribute=CFI_attribute_pointer>
PASS: gfortran.dg/c-interop/cf-descriptor-3.f90 -O2 execution test
<CFI_cdesc_t base_addr=0x7ffffbbdb4a0 elem_len=8 version=1
rank=2 type=CFI_type_struct attribute=CFI_attribute_other
dim=[<CFI_dim_t lower_bound=0 extent=10 sm=8>,
<CFI_dim_t lower_bound=0 extent=5 sm=80>]>
<CFI_cdesc_t base_addr=0x7ffffbbdb4a0 elem_len=4 version=1
rank=2 type=CFI_type_int attribute=CFI_attribute_pointer
dim=[<CFI_dim_t lower_bound=0 extent=10 sm=8>,
<CFI_dim_t lower_bound=0 extent=5 sm=80>]>
<CFI_cdesc_t base_addr=0x7ffffbbdb4a4 elem_len=4 version=1
rank=2 type=CFI_type_int attribute=CFI_attribute_pointer
dim=[<CFI_dim_t lower_bound=0 extent=10 sm=8>,
<CFI_dim_t lower_bound=0 extent=5 sm=80>]>
PASS: gfortran.dg/c-interop/cf-descriptor-7.f90 -Os execution test
<CFI_cdesc_t base_addr=0x7fffd08bb074 elem_len=4 version=1
rank=1 type=CFI_type_int attribute=CFI_attribute_other
dim=[<CFI_dim_t lower_bound=0 extent=5 sm=8>]>
<CFI_cdesc_t base_addr=0x7fffd08bb074 elem_len=4 version=1
rank=1 type=CFI_type_int attribute=CFI_attribute_other
dim=[<CFI_dim_t lower_bound=0 extent=5 sm=8>]>
<CFI_cdesc_t base_addr=0x7fffd08bb080 elem_len=4 version=1
rank=1 type=CFI_type_int attribute=CFI_attribute_other
dim=[<CFI_dim_t lower_bound=0 extent=5 sm=12>]>
<CFI_cdesc_t base_addr=0x7fffd08bb080 elem_len=4 version=1
rank=1 type=CFI_type_int attribute=CFI_attribute_other
dim=[<CFI_dim_t lower_bound=0 extent=5 sm=12>]>
PASS: gfortran.dg/c-interop/contiguous-3.f90 -O0 execution test
in the log. So, I can't really reproduce the above.
Not really clear how it could be related though, e.g. contiguous-3.f90 doesn't
have anything real/complex related in it.
C_LONG_DOUBLE is only present in typecodes-array-longdouble.f90 and
typecodes-scalar-longdouble.f90.