re PR tree-optimization/33593 (tree-outof-ssa moves sources of non-call exceptions...
[gcc.git] / gcc / testsuite / g++.dg / tree-ssa / pr20458.C
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3
4 /* The tail call optimization would inapproriately tail call the
5 destructors due to not recognizing a call clobbered variable */
6 namespace std
7 {
8 class locale
9 {
10 public:
11 locale();
12 ~locale();
13 };
14 }
15
16 struct B
17 {
18 std::locale _M_buf_locale;
19 virtual ~B() {}
20 };
21
22 struct C : public B
23 {
24 char *s;
25 };
26
27 void foo ()
28 {
29 C c;
30 }
31
32 int main()
33 {
34 foo ();
35 return 0;
36 }
37