diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/except6.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/except6.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except6.C b/gcc/testsuite/g++.old-deja/g++.law/except6.C new file mode 100644 index 000000000..05f54e60a --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/except6.C @@ -0,0 +1,27 @@ +// { dg-do assemble } +// { dg-options "-fexceptions" } +// GROUPS passed exceptions +// except file +// From: GUSTAVO%DRAGON@orion.cpqd.ansp.br +// Date: 15 Dec 1993 09:33:30 +0000 (C) +// Subject: exception handling problem +// Message-ID: <01H6I5GEAF5UPBJ0UV@VENUS.CPQD.ANSP.BR> + +struct Exception + { + int v; + Exception(int i) { v = i; }; + }; + +void inc(int &i) + { + try { + if (i == 0) + throw Exception(i); + else + i++; + } + catch (Exception v) { + i = v.v; + } + } |