diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/eh44.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/eh44.C | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh44.C b/gcc/testsuite/g++.old-deja/g++.mike/eh44.C new file mode 100644 index 000000000..27afd3fec --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/eh44.C @@ -0,0 +1,36 @@ +// { dg-do run { xfail sparc64-*-elf arm-*-pe } } +// { dg-options "-fexceptions" } +// prms-id: 9159 + +static unsigned int iCounter = 0; +static unsigned int iMax; +int fail = 0; + +class ca { +public: + ca(int) { + if (iCounter++ == iMax) + throw (const char*)"iCounter"; + } + virtual ~ca() { + } +}; + +class cc { +public: + cc(const ca &rca1, const ca &rca2) { + } + virtual ~cc() { + fail = 1; + } +}; + + +int main(int argc, char **argv) { + iMax = 1; + try { + cc sc(ca(1), ca(1)); + } catch (const char *pMsg) { + } + return fail; +} |