| // { dg-additional-options -fmodules-ts } | |
| import foo; | |
| struct Mine : Visitor | |
| { | |
| int Visit () override | |
| { | |
| return 1; | |
| } | |
| }; | |
| extern int Foo (); | |
| int main () | |
| { | |
| Mine me; | |
| if (auto b = Foo ()) | |
| return b; | |
| return !(Visit (&me) == 1); | |
| } | |
| // We do not emit Visitor vtable | |
| // but we do emit rtti here | |
| // { dg-final { scan-assembler-not {_ZTV7Visitor:} } } | |
| // { dg-final { scan-assembler {_ZTI7Visitor:} } } | |
| // { dg-final { scan-assembler {_ZTS7Visitor:} } } |