From: Zack Weinberg Date: Mon, 2 Feb 2004 20:06:23 +0000 (+0000) Subject: * g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6699d593734ee8f2cf7472ac581e123e54936be4;p=gcc.git * g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C * g++.dg/eh/forced4.C: XFAIL ia64-hp-hpux11.*. * g++.dg/eh/ia64-1.C: Test branch regs only #ifdef __LP64__. * gcc.dg/cleanup-5.c: Run only on Linux targets. From-SVN: r77134 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e95b3019f56..56a7c0c6cde 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2004-02-02 Zack Weinberg + + * g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C + * g++.dg/eh/forced4.C: XFAIL ia64-hp-hpux11.*. + * g++.dg/eh/ia64-1.C: Test branch regs only #ifdef __LP64__. + * gcc.dg/cleanup-5.c: Run only on Linux targets. + 2004-02-02 Mark Mitchell PR c++/13113 @@ -20,7 +27,7 @@ 2004-02-01 Giovanni Bajo PR c++/13957 - * g++.dg/template/non-type-template-argument-1.C, + * g++.dg/template/non-type-template-argument-1.C, g++.dg/template/qualified-id1.C: Update dg-error marks. * g++.dg/template/nontype6.C: New test. @@ -86,7 +93,7 @@ * objc.dg/proto-qual-1.m (ROUND, aligned_sizeof): New. (scan_initial, main): Use aligned_sizeof instead of sizeof. - + 2004-01-28 Mark Mitchell PR c++/13791 @@ -110,7 +117,7 @@ 2004-01-27 Devang Patel * g++.dg/debug/namespace1.C: New test. - + 2004-01-27 Ian Lance Taylor * gcc.dg/const-elim-1.c: Add xfail for strongarm-*-* and diff --git a/gcc/testsuite/g++.dg/eh/forced1.C b/gcc/testsuite/g++.dg/eh/forced1.C index 8f090fa9df5..7244a35f36c 100644 --- a/gcc/testsuite/g++.dg/eh/forced1.C +++ b/gcc/testsuite/g++.dg/eh/forced1.C @@ -1,4 +1,5 @@ -// { dg-do run } +// HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. +// { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding runs all cleanups. Also tests that // rethrowing doesn't call the exception object destructor. diff --git a/gcc/testsuite/g++.dg/eh/forced2.C b/gcc/testsuite/g++.dg/eh/forced2.C index ebfda5554f2..b8ace620dbe 100644 --- a/gcc/testsuite/g++.dg/eh/forced2.C +++ b/gcc/testsuite/g++.dg/eh/forced2.C @@ -1,4 +1,5 @@ -// { dg-do run } +// HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. +// { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that leaving the catch block without rethrowing // does call the exception object destructor. diff --git a/gcc/testsuite/g++.dg/eh/forced3.C b/gcc/testsuite/g++.dg/eh/forced3.C index 2de421c4412..29d65d91551 100644 --- a/gcc/testsuite/g++.dg/eh/forced3.C +++ b/gcc/testsuite/g++.dg/eh/forced3.C @@ -1,4 +1,5 @@ -// { dg-do run } +// HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. +// { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding calls std::unexpected going // throw a nothrow function. diff --git a/gcc/testsuite/g++.dg/eh/forced4.C b/gcc/testsuite/g++.dg/eh/forced4.C index be03a7544b6..88b48c82b0a 100644 --- a/gcc/testsuite/g++.dg/eh/forced4.C +++ b/gcc/testsuite/g++.dg/eh/forced4.C @@ -1,4 +1,5 @@ -// { dg-do run } +// HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. +// { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding does not call std::unexpected going // throw a function with a non-empty exception spec. diff --git a/gcc/testsuite/g++.dg/eh/ia64-1.C b/gcc/testsuite/g++.dg/eh/ia64-1.C index a1b731c8d80..17ef7f8b78c 100644 --- a/gcc/testsuite/g++.dg/eh/ia64-1.C +++ b/gcc/testsuite/g++.dg/eh/ia64-1.C @@ -1,10 +1,13 @@ // Test whether call saved float and branch regs are restored properly +// We can't do this test for branch regs in ILP32 mode. // { dg-do run { target ia64-*-* } } // { dg-options "-O2" } extern "C" void abort (void); +#ifdef __LP64__ char buf[128]; +#endif void __attribute__((noinline)) bar (void) @@ -28,13 +31,17 @@ main (void) register double f5 __asm ("f5"); register double f16 __asm ("f16"); register double f17 __asm ("f17"); +#ifdef __LP64__ register void *b1 __asm ("b1"); register void *b2 __asm ("b2"); register void *b3 __asm ("b3"); register void *b4 __asm ("b4"); register void *b5 __asm ("b5"); +#endif f2 = 12.0; f3 = 13.0; f4 = 14.0; f5 = 15.0; f16 = 16.0; f17 = 17.0; +#ifdef __LP64__ b1 = &buf[1]; b2 = &buf[2]; b3 = &buf[3]; b4 = &buf[4]; b5 = &buf[5]; +#endif try { foo (); @@ -43,8 +50,10 @@ main (void) if (f2 != 12.0 || f3 != 13.0 || f4 != 14.0 || f5 != 15.0 || f16 != 16.0 || f17 != 17.0) abort (); +#ifdef __LP64__ if (b1 != &buf[1] || b2 != &buf[2] || b3 != &buf[3] || b4 != &buf[4] || b5 != &buf[5]) abort (); +#endif return 0; } diff --git a/gcc/testsuite/gcc.dg/cleanup-5.c b/gcc/testsuite/gcc.dg/cleanup-5.c index f5306db4752..4b8468aa733 100644 --- a/gcc/testsuite/gcc.dg/cleanup-5.c +++ b/gcc/testsuite/gcc.dg/cleanup-5.c @@ -1,4 +1,4 @@ -/* { dg-do run } */ +/* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* mips*-*-linux* } } */ /* { dg-options "-fexceptions" } */ /* Verify that cleanups work with exception handling. */