https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056

--- Comment #13 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 12 Dec 2022, burnus at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056
> 
> --- Comment #12 from Tobias Burnus <burnus at gcc dot gnu.org> ---
[...]
> Thus, we have two options:
> 
> (A) We change those to functions back to the GCC 11 version; the new check was
>     added in Sandra's commit 
> r12-3321-g93b6b2f614eb692d1d8126ec6cb946984a9d01d7
>     back when those functions were still used in GCC 12.
> 
> (B) I think we have to possibilities to map this:
> 
> BT_ASSUMED -> CFI_type_cptr  or  CFI_type_other; using the latter, that's the
> following (untested but it should work):
> 
>   -------------------------------------------
> --- a/libgfortran/runtime/ISO_Fortran_binding.c
> +++ b/libgfortran/runtime/ISO_Fortran_binding.c
> @@ -182,4 +182,7 @@ gfc_desc_to_cfi_desc (CFI_cdesc_t **d_ptr, const
> gfc_array_void *s)
>        d->type = CFI_type_struct;
>        break;
> +    case BT_ASSUME:
> +      d->type = CFI_type_other;
> +      break;
>      case BT_VOID:
>        /* FIXME: PR 100915.  GFC descriptors do not distinguish between
>   --------------------------------------------
> 
> Thoughts whether (A) or (B) is better?

I'd go with (A) if the functions are just for legacy code and not used
by GCC 12+ at all.

Reply via email to