diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/opt/pr17724-5.C')
-rw-r--r-- | gcc/testsuite/g++.dg/opt/pr17724-5.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/opt/pr17724-5.C b/gcc/testsuite/g++.dg/opt/pr17724-5.C new file mode 100644 index 000000000..5ce303856 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr17724-5.C @@ -0,0 +1,24 @@ +// PR tree-optimization/17724 +// { dg-do compile } +// { dg-options "-O2" } + +extern char *strcpy (char* d, const char* s) throw (); + +class A { public: A (); ~A (); }; + +inline char * B (char *s, const char *t) +{ return ::strcpy (s, t); } + +class C { int D (void); int E; }; + +int C::D (void) +{ + A a; + try + { + char z[22]; + if (this->E) B (z, ""); + return 0; + } + catch (int &f) { return -1; } +} |