Hi all,

Mikael Morin wrote:
The attribute field is not used, this removes the single function giving
direct access to it.

I find this quite interesting, but I can confirm it. For type declaration,
it is added to the descriptor, but not initialized.

libgfortran.h offers GFC_DTYPE_CLEAR that sets it to 0;
it was used byruntime/ISO_Fortran_binding.c's
cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc, but those
are now generated inside the compiler - and uses the
attribute based on the declaration instead of the one of
the descriptor.

But, interestingly, not even gfc_get_dtype_rank_type set it!

Note: For the ISO C Binding descriptor it is used:
CFI_attribute_pointer, CFI_attribute_allocatable, CFI_attribute_other
but that's handled elsewhere → gfc_get_cfi_desc_attribute
and is (at least for now) a different descriptor.


gcc/fortran/ChangeLog:

        * trans-descriptor.cc (gfc_conv_descriptor_attribute): Remove
        function.
        * trans-descriptor.h (gfc_conv_descriptor_attribute): Remove
        declaration.

LGTM. Thanks!

Tobias

Reply via email to