On Tue, Jan 10, 2023 at 07:23:23PM +0100, Jakub Jelinek wrote: > 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.
I agree that in theory it should be simple to fix. Unfortunately the patches that I was working on cause some other failures that I need to investigate. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com