1// { dg-do compile } 2// GROUPS passed old-abort 3typedef int element; 4class Pix { 5public: 6 Pix(); 7 Pix(const Pix&); 8 9 // Friend functions so that v == x works as does x == v works 10 friend int operator==(void *v, const Pix& x) // { dg-error "previously" } 11 { return v == index; } // { dg-error "from this location" } 12 // ??? should be operator!= 13 friend int operator==(void *v, const Pix& x) // { dg-error "redefinition" } 14 { return v != index; } 15private: 16// friend class List<T>; 17 element *index; // { dg-error "invalid use of non-static data member" } 18}; 19