// { 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:} } }
