Hi, gcc.dg/20020219-1.c is invalid for x32. I checked in this patch to disable it.
H.J. ---- commit 5599f023b65b85b5e5320321e64775910a739ff1 Author: H.J. Lu <hjl.to...@gmail.com> Date: Fri May 20 06:11:14 2011 -0700 Disable gcc.dg/20020219-1.c for x32. diff --git a/gcc/testsuite/ChangeLog.x32 b/gcc/testsuite/ChangeLog.x32 index 11cca91..5c4728b 100644 --- a/gcc/testsuite/ChangeLog.x32 +++ b/gcc/testsuite/ChangeLog.x32 @@ -1,3 +1,8 @@ +2011-05-20 H.J. Lu <hongjiu...@intel.com> + + PR target/48529 + * gcc.dg/20020219-1.c: Disabled for x32. + 2011-04-16 H.J. Lu <hongjiu...@intel.com> * gcc.target/i386/avx-vinsertps-3.c: Require ia32 instead of diff --git a/gcc/testsuite/gcc.dg/20020219-1.c b/gcc/testsuite/gcc.dg/20020219-1.c index 3664949..f945072 100644 --- a/gcc/testsuite/gcc.dg/20020219-1.c +++ b/gcc/testsuite/gcc.dg/20020219-1.c @@ -8,14 +8,15 @@ IA64 hpux in ILP32 mode because extending x - 1 before adding the array offset gives a different answer then adding first and then extending. The underlying problem is the same as with hppa, x - 1 is - not a legal data address. */ + not a legal data address. It also fails on x32 targets for the + same reason. */ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -mdisable-indexing" { target hppa*-*-hpux* } } */ /* { dg-skip-if "" { "ia64-*-hpux*" } "*" "-mlp64" } */ -/* Disable the test entirely for 16-bit targets. */ -#if __INT_MAX__ > 32767 +/* Disable the test entirely for 16-bit and x32 targets. */ +#if __INT_MAX__ > 32767 && (!defined __x86_64__ || defined __LP64__) extern void abort (void); extern void exit (int);