OSDN Git Service

2010-01-26 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.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