2017-09-25 23:23 GMT+02:00 Steve Kargl <s...@troutmask.apl.washington.edu>: > On Mon, Sep 25, 2017 at 11:14:42PM +0200, Janus Weil wrote: >> 2017-09-25 17:07 GMT+02:00 David Edelsohn <dje....@gmail.com>: >> > promotion_3.f90 and promotion_4.f90 are failing on at least PowerPC >> > and AArch64. Are these new tests limited to x86 or some long double >> > assumptions? >> >> These tests require the availability of a 10- or 16-byte-wide REAL >> type, respectively. I have to admit that I do not have a complete >> overview of which targets in GCC's wide portfolio provide such a type. >> >> It seems that REAL(16) is supported via libquadmath on 32-bit x86, >> x86-64 and Itanium at least. I'm not sure about REAL(10). >> >> Targets that do not support such a type probably need to be XFAILed. >> > > Janus, I think you can control with a dg option > > dg-require-effective-target fortran_large_real > > See, for example, gfortran.dg/random_3.f90
Thanks for the pointer, Steve. However, it seems that "fortran_large_real" only requires some real type that is larger than 8 byte, but makes no assumptions on its actual size (10 or 16 byte). Therefore it's probably not very useful for promotion_{3,4}. But: I found that there's also a "fortran_real_16", which should be suitable for promotion_3. Can someone verify if the following fixes the problem on the failing targets: Index: promotion_3.f90 =================================================================== --- promotion_3.f90 (revision 253134) +++ promotion_3.f90 (working copy) @@ -1,5 +1,6 @@ ! { dg-do run } ! { dg-options "-fdefault-real-16" } +! { dg-require-effective-target fortran_real_16 } ! ! PR 82143: add a -fdefault-real-16 flag ! If it does, I'll be happy to commit that. For promotion_4, we probably need to add an effective target "fortran_real_10" (which does not seem to exists yet). Cheers, Janus