diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9e7efa7f4d8f..c0087b77747e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-03-28 Steve Ellcey + + PR target/19890 + * gcc.dg/20020219-1.c: Skip on IA64 HP-UX in ILP32 mode. + 2005-03-28 Jan Hubicka PR middle-end/20635 diff --git a/gcc/testsuite/gcc.dg/20020219-1.c b/gcc/testsuite/gcc.dg/20020219-1.c index a3cda0e65d6f..36649490e7d6 100644 --- a/gcc/testsuite/gcc.dg/20020219-1.c +++ b/gcc/testsuite/gcc.dg/20020219-1.c @@ -1,13 +1,18 @@ /* PR c/4389 This testcase failed because host_integerp (x, 0) was returning - 1 even for constants bigger than 2^31. It fails under under hpux - without -mdisable-indexing because the pointer x - 1 is used as - the base address of an indexed load. Because the struct A is not + 1 even for constants bigger than 2^31. It fails under under hppa + hpux without -mdisable-indexing because the pointer x - 1 is used + as the base address of an indexed load. Because the struct A is not actually allocated, x - 1 lies in the text segment and this causes - the wrong space register to be selected for the load. */ + the wrong space register to be selected for the load. It fails on + 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. */ /* { 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