Since at least revision 135800 (135787 is working) the tests gcc.dg/torture/type-generic-1.c andg++.dg/torture/type-generic-1.C fail on powerpc-apple-darwin* (see http://gcc.gnu.org/ml/gcc-testresults/2008-05/msg02062.html).
It is also happening on powerpc-linux-gnu: http://gcc.gnu.org/ml/gcc-testresults/2008-05/msg02422.html
The tests fail on powerpc*-unknown-linux-gnu with 128-bit long doubles because __builtin_fpclassify claims that __LDBL_MAX__ is infinite, not normal. Here's a small testcase minimized from type-generic-1.c: #define FP_NAN 1 #define FP_INFINITE 2 #define FP_NORMAL 3 #define FP_SUBNORMAL 4 #define FP_ZERO 5 #define fpclassify(X) __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (X)) int main () { volatile long double ld; ld = __LDBL_MAX__; if (fpclassify (ld) != FP_NORMAL) __builtin_abort (); return 0; }
Subject: Bug 36332 Author: jakub Date: Tue Sep 2 18:46:29 2008 New Revision: 139906 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139906 Log: PR target/36332 * real.c (real_maxval): Clear a lower bit to make real_maxval match get_max_float for IBM long double format. * gcc.c-torture/execute/ieee/pr36332.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c Modified: trunk/gcc/ChangeLog trunk/gcc/real.c trunk/gcc/testsuite/ChangeLog
Subject: Bug 36332 Author: jakub Date: Tue Sep 2 19:11:55 2008 New Revision: 139907 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139907 Log: PR target/36332 * real.c (real_maxval): Clear a lower bit to make real_maxval match get_max_float for IBM long double format. * gcc.c-torture/execute/ieee/pr36332.c: New test. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/real.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
Fixed.