From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C8AFE3887CEB; Mon, 12 Dec 2022 12:34:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8AFE3887CEB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670848485; bh=nol8j6FdPTAd53uy9G2MXrWzWjrQlJpowA/jbsWsr4o=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Q7pMXhtGVyoDnLpe3uYlVtROjYLQ4kiFPtBiyE7ayzLRXbBbJBEZSMTefZxXv4cQT NWBk6e6ZE6Ed3ZekugeRF0/ihayfmPjuoq9HJBQ5R99dORzahK0C4o0eP7hrR45x6x xBrwJMGN2Hjg8AOFm0TlcS8fdSjCjYF5ffABhqEk= From: "rguenther at suse dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug libfortran/108056] [12/13 Regression] backward compatibility issue between 11 and 12 Date: Mon, 12 Dec 2022 12:34:45 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libfortran X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: ABI X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenther at suse dot de X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108056 --- Comment #13 from 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=3D108056 >=20 > --- Comment #12 from Tobias Burnus --- [...] > Thus, we have two options: >=20 > (A) We change those to functions back to the GCC 11 version; the new chec= k was > added in Sandra's commit r12-3321-g93b6b2f614eb692d1d8126ec6cb946984a= 9d01d7 > back when those functions were still used in GCC 12. >=20 > (B) I think we have to possibilities to map this: >=20 > BT_ASSUMED -> CFI_type_cptr or CFI_type_other; using the latter, that's= the > following (untested but it should work): >=20 > ------------------------------------------- > --- 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 =3D CFI_type_struct; > break; > + case BT_ASSUME: > + d->type =3D CFI_type_other; > + break; > case BT_VOID: > /* FIXME: PR 100915. GFC descriptors do not distinguish between > -------------------------------------------- >=20 > 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.=