• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <cstdio>
2 
3 struct base_t {
4   virtual void f();
5 };
6 
7 void do_f(base_t *ptr);
8 
9 struct derived_t : base_t {
10   void f() override;
11 };
12 
f()13 void derived_t::f() {
14   puts("derived_t::f");
15 }
16 
17 static struct dummy {
18   base_t *ptr = nullptr;
19 
~dummydummy20   ~dummy() {
21     if (ptr)
22       do_f(ptr);
23   }
24 } __dummy;
25 
create()26 extern "C" void create() {
27   puts("create");
28   __dummy.ptr = new derived_t();
29 }
30