On Mon, Jan 09, 2023 at 10:21:52PM -0500, Michael Meissner wrote: > I had the patches to change the precision to 128, and I just ran them. C and > C++ do not seem to be bothered by changing the precision to 128 (once I got it > to build, etc.). But Fortran on the other hand does actually use the > precision > to differentiate between IBM extended double and IEEE 128-bit. In particular, > the following 3 tests fail when long double is IBM extended double: > > gfortran.dg/PR100914.f90 > gfortran.dg/c-interop/typecodes-array-float128.f90 > gfortran.dg/c-interop/typecodes-scalar-float128.f90 > > I tried adding code to use the old precisions for Fortran, but not for C/C++, > but it didn't seem to work. > > So while it might be possible to use a single 128 for the precision, it needs > more work and attention, particularly on the Fortran side.
Can't be more than a few lines changed in the fortran FE. Yes, the FE needs to know if it is IBM extended double or IEEE 128-bit so that it can decide on the mangling - where to use the artificial kind 17 and where to use 16. But as long as it can figure that out, it doesn't need to rely on a particular precision. Jakub