// PR c++/39095
// { dg-do compile }
struct B
{
  int b;
};
struct A
{
  B *operator->();
  A ();
  B b;
};
A::A ()
{
}
B *
A::operator->()
{
  return &b;
}
A a;
int
foo ()
{
  return a->b;
}
// { dg-final { scan-assembler "_ZN1AptEv" } }
// { dg-final { scan-assembler-not "_ZN1AdtEv" } }