From e6b18eaa6de98b51eabf96089e2e5de971b5043e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 26 Jan 2009 23:39:02 +0000 Subject: [PATCH] re PR target/38952 (EH does not work.) 2009-01-26 H.J. Lu PR target/38952 * g++.dg/torture/stackalign/test-unwind.h (main): Also return 0 if __USING_SJLJ_EXCEPTIONS__ is defined. * g++.dg/torture/stackalign/unwind-0.C (foo): Don't define if __USING_SJLJ_EXCEPTIONS__ is defined. * g++.dg/torture/stackalign/unwind-1.C (foo): Likewise. * g++.dg/torture/stackalign/unwind-2.C (foo): Likewise. * g++.dg/torture/stackalign/unwind-3.C (foo): Likewise. * g++.dg/torture/stackalign/unwind-4.C (foo): Likewise. * g++.dg/torture/stackalign/unwind-5.C (foo): Likewise. * g++.dg/torture/stackalign/unwind-6.C (foo): Likewise. From-SVN: r143689 --- gcc/testsuite/ChangeLog | 15 +++++++++++++++ .../g++.dg/torture/stackalign/test-unwind.h | 2 +- .../g++.dg/torture/stackalign/unwind-0.C | 2 +- .../g++.dg/torture/stackalign/unwind-1.C | 2 +- .../g++.dg/torture/stackalign/unwind-2.C | 2 +- .../g++.dg/torture/stackalign/unwind-3.C | 2 +- .../g++.dg/torture/stackalign/unwind-4.C | 2 +- .../g++.dg/torture/stackalign/unwind-5.C | 2 +- .../g++.dg/torture/stackalign/unwind-6.C | 2 +- 9 files changed, 23 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 57c8c33d518..89c32e50df6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2009-01-26 H.J. Lu + + PR target/38952 + * g++.dg/torture/stackalign/test-unwind.h (main): Also return 0 + if __USING_SJLJ_EXCEPTIONS__ is defined. + + * g++.dg/torture/stackalign/unwind-0.C (foo): Don't define if + __USING_SJLJ_EXCEPTIONS__ is defined. + * g++.dg/torture/stackalign/unwind-1.C (foo): Likewise. + * g++.dg/torture/stackalign/unwind-2.C (foo): Likewise. + * g++.dg/torture/stackalign/unwind-3.C (foo): Likewise. + * g++.dg/torture/stackalign/unwind-4.C (foo): Likewise. + * g++.dg/torture/stackalign/unwind-5.C (foo): Likewise. + * g++.dg/torture/stackalign/unwind-6.C (foo): Likewise. + 2009-01-26 Danny Smith PR testsuite/38949 diff --git a/gcc/testsuite/g++.dg/torture/stackalign/test-unwind.h b/gcc/testsuite/g++.dg/torture/stackalign/test-unwind.h index 8267384e079..b07b27c21fb 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/test-unwind.h +++ b/gcc/testsuite/g++.dg/torture/stackalign/test-unwind.h @@ -34,7 +34,7 @@ extern void foo(void); );\ } -#ifdef __PIC__ +#if defined __PIC__ || defined __USING_SJLJ_EXCEPTIONS__ int main () { diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C index 546123bdd0e..f8166eb9548 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ void __attribute__ ((noinline)) foo() { ALTER_REGS(); diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C index 3b809642ab7..70dce748567 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ /* Test situation 1: Stack really realign without DRAP */ void __attribute__ ((noinline)) foo () diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C index 1569ed84b7d..791eeb55106 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ /* Test situation 2: stack really realign with DRAP reg CX */ void __attribute__ ((noinline)) foo () diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C index 48eddaf5565..29dee2d5a7b 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ /* Test situation 3: Stack realign really happen with DRAP reg DI */ void __attribute__ ((noinline)) __attribute__ ((regparm(3))) bar (int arg1, int arg2, int arg3) diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C index dacbd3dede9..a896176ae04 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ volatile int __attribute__ ((aligned(32))) g_a=1; /* Test situation 4: no Drap and stack realign doesn't really happen */ void __attribute__ ((noinline)) diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C index fde430bfb72..514e4e77a56 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ double g_f=1.0; /* Test situation 5: Stack realign dosn't really happen with DRAP reg CX */ void __attribute__ ((noinline)) __attribute__ ((regparm(2))) diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C index 7c9dee13338..a888ca1b5f9 100644 --- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C +++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C @@ -2,7 +2,7 @@ #include "test-unwind.h" -#ifndef __PIC__ +#if !defined __PIC__ && !defined __USING_SJLJ_EXCEPTIONS__ double g_f=1.0; /* Test situation 6: Stack realign dosn't really happen with DRAP reg DI */ void __attribute__ ((noinline)) __attribute__ ((regparm(3)))