This is the mail archive of the
mailing list for the GCC project.
XFAILing gcc.dg/uninit-C.c on non 64-bit platforms?
- From: Roger Sayle <roger at eyesopen dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Kaveh Ghazi <ghazi at caip dot rutgers dot edu>
- Date: Wed, 28 May 2003 21:33:28 -0600 (MDT)
- Subject: XFAILing gcc.dg/uninit-C.c on non 64-bit platforms?
With my recent patch submission to fix gcc.dg/duff-2.c,
there is only one remaining unexpected failure in the gcc
testsuite with mainline CVS on my RedHat 8.x box, namely
Interestingly, uninit-C isn't failing because of the spurious
uninitialized variable warning it was designed to test for
(see PR middle-end/7227) but rather because TImode variables
aren't supported on x86.
Indeed examining the gcc-testresults list, it appears that this
test passes on all targets with 64-bit registers, i.e. alpha,
mips, sparc, ia64 and s390, but fails on 32-bit targets including
arm, hppa, sh and x86. Interestingly powerpc supports TImode
when running on AIX and Linux, but fails on Darwin.
The question is therefore what is the correct way to limit this
test to platforms that support __attribute__ ((mode (TI))? The
gcc.dg mechanisms appear limited, and the best I could see would
to be to list all the 64bit architectures in a "target" predicate
on the dg-compile line. There doesn't appear to be a way of
just XFAILing this test on platforms known not to support TImode.
Alternatively is there a way to determine whether TImode exists
at compile time, from limits.h perhaps, and use conditional
compilation to test DImode instead. Or, along similar lines,
just use #if defined(__alpha__) || defined(__mips__) || etc...
Interestingly, there don't appear to be any other tests for TImode
anywhere in the testsuite.
Looking forward to no unexpected failures with mainline gcc.
Roger Sayle, E-mail: firstname.lastname@example.org
OpenEye Scientific Software, WWW: http://www.eyesopen.com/
Suite 1107, 3600 Cerrillos Road, Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507. Fax: (+1) 505-473-0833