aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/eh1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/eh1.C62
1 files changed, 0 insertions, 62 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C b/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
deleted file mode 100644
index a6683060c25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// Special g++ Options: -O
-// PRMS Id: 10776
-
-extern "C" void printf (char *, ...);
-
-class Foo
-{
- public:
- Foo(int n) : n_(n) { }
- int f() { return n_; }
-
- int badTest();
- int goodTest();
-
- private:
-
- int n_;
-};
-
-int Foo::badTest()
-{
- try {
- throw int(99);
- }
-
- catch (int &i) {
- n_ = 16;
- }
-
- return n_;
- // On the sparc, the return will use a ld [%l0],%i0 instruction.
- // However %l0 was clobbered at the end of the catch block. It was
- // used to do an indirect call.
-}
-
-
-int Foo::goodTest()
-{
- int n;
-
- try {
- throw int(99);
- }
-
- catch (int &i) {
- n = 16;
- }
-
- return n_;
- // The return will use a ld [%l2],%i0 instruction. Since %l2
- // contains the "this" pointer this works.
-}
-
-int main()
-{
- Foo foo(5);
- foo.goodTest();
- foo.badTest();
-
- // the badTest will have failed
- printf ("PASS\n");
-}