http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54457
--- Comment #8 from H.J. Lu <hjl.tools at gmail dot com> 2012-11-01 22:31:45 UTC --- (In reply to comment #7) > Shouldn't the gcc.target/i386/pr54457.c testcase be... > > Index: gcc/testsuite/gcc.target/i386/pr54457.c > =================================================================== > --- gcc/testsuite/gcc.target/i386/pr54457.c (revision 193061) > +++ gcc/testsuite/gcc.target/i386/pr54457.c (working copy) > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target { ! { ia32 } } } } */ > +/* { dg-do compile { target { ! { ia32 || lp64 } } } } */ > /* { dg-options "-O2 -mx32 -maddress-mode=short" } */ > > extern char array[40]; > > On x86_64-apple-darwin12 at -m64, the gcc.target/i386/pr54457.c testcase fails > the excessive errors test whereas the change above converts that to an > unsupported test. It will disable test on Linux/x86-64. We can add check_effective_target_maybe_x32 to check if -mx32 works before compiling with -mx32.