1 // { dg-do assemble } 2 // Origin: Jakub Jelinek <jakub@redhat.com> 3 4 class foo { 5 public: 6 class __iterator; // { dg-message "declaration" } 7 friend class __iterator; 8 typedef __iterator const_iterator; ~foo()9 virtual ~foo() { } 10 __iterator begin(); // { dg-message "foo::begin|no known conversion for implicit" } 11 }; iteratorTest(const foo & x)12static void iteratorTest(const foo &x) 13 { 14 foo::const_iterator i = x.begin(); // { dg-error "incomplete type" "incomplete type" } 15 // { dg-error "const foo" "" { target *-*-* } 14 } 16 for (; i; ++i) 17 *i; 18 } 19