// { dg-lto-do link } // { dg-lto-options { { -flto -g } } } struct _Deque_iterator { int* _M_cur; void foo() {} }; class _Deque_base { public: typedef _Deque_iterator iterator; iterator _M_impl; }; class deque : public _Deque_base { public: typedef _Deque_base::iterator iterator; }; class OutputContextStack { public: deque m_stack; deque::iterator m_stackPosition; }; int main() { OutputContextStack s; s.m_stackPosition.foo(); }