diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61085.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61085.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61085.C b/gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61085.C new file mode 100644 index 000000000..531f59d53 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/ipa/pr61085.C @@ -0,0 +1,33 @@ +/* { dg-do run } */ +/* { dg-options "-O2 -fno-early-inlining" } */ + +struct A {}; +struct B : virtual A { + unsigned m_i; + B() : m_i () {} + virtual A *m_virt () + { + return 0; + } + ~B () + { + m_foo (); + while (m_i) + ; + } + void m_foo () + { + m_virt (); + } +}; + +class C : B { + A *m_virt () { + __builtin_abort (); + } +}; + +int main () +{ + C c; +} |