On Mon, Jan 03, 2022 at 04:24:50PM +0100, Jakub Jelinek wrote: > Hi! > > Testing found that we also need libquadmath to be built with > -mno-gnu-attribute, otherwise -mabi=ieeelongdouble programs don't link. > > Ok for power-ieee128? > > 2022-01-03 Jakub Jelinek <ja...@redhat.com> > > * configure.ac: Set XCFLAGS to -mno-gnu-attribute on > powerpc64le*-linux*. > * configure: Regenerated.
I'm wondering whether we want to change things so that Fortran never uses long double on PowerPC, but instead it explicitly uses __float128 and __ibm128. But this breaks down in using printf/scanf, which don't have format options for those types. Unfortunately this won't work with the current code, since passing any of the 128-bit floating point types causes the flag 'rs6000_passes_long_double' to be set (and then the gnu attribute #4 is set). In theory, that should be set only if an explicit long double type is used. But the problem is when those things are set, you tend to only have modes and not types. To do it 'right', you probably need a GIMPLE pass that looks at the actual types used, not the modes. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com