[patch, libgfortran] Further fixes for GFC/CFI descriptor conversions

Sandra Loosemore sandra@codesourcery.com
Thu Aug 19 03:57:00 GMT 2021


This patch addresses several bugs in converting from GFC to CFI 
descriptors and vice versa.  It incorporates bits and pieces of an 
earlier patch from José

https://gcc.gnu.org/pipermail/fortran/2021-June/056154.html

that is now quite bit-rotten.

The root of all the problems addressed here is that GFC descriptors 
contain incomplete information; in particular, they only encode the size 
of the data type and not its kind.  Changing the GFC descriptors to 
include more information would be an ABI change for pure Fortran code 
and not just interoperability, so I've been trying to avoid that.  OTOH, 
making at least some things work with the existing ABI that formerly 
didn't seems like a reasonable thing to do.  Alternatively, I suppose we 
could throw up our hands and give an internal error when encountering 
the ambiguous cases and focus on designing the ABI changes necessary to 
solve the problems for real.

In addition to José's test cases included with this patch, I've added 
some additional test coverage to my TS29113 testsuite which I will be 
reposting soon.

-Sandra

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gfc-cfi-bug-fixes.patch
Type: text/x-patch
Size: 57855 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210818/e4fd5316/attachment-0001.bin>


More information about the Gcc-patches mailing list