c++/8277: g++ 3.2 is confused by operators and namespaces

bangerth@dealii.org bangerth@dealii.org
Mon Oct 28 16:19:00 GMT 2002


Synopsis: g++ 3.2 is confused by operators and namespaces

State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Mon Oct 28 16:11:11 2002
State-Changed-Why:
    The problem reported here can be reduced to the following snippet:
    ----------------------------------
    namespace std
    {
      template <typename T> struct vector{
          T* t;
      };
      
      template <typename T> bool operator == (const vector<T> &v1,
                                              const vector<T> &v2)
        {return *v1.t == *v2.t; };
    };
    
    namespace X {
      struct A {
        std::vector<A>      x ;
      };
    }
    
    bool operator== ( const X::A& a, const X::A& b )
    {
      return a.x == b.x ;
    }
    ---------------------------------------
    
    The failure to find the op==(A,A) in std::op==(vector,vector)
    is the same problem that has been discussed in length
    for c++/8279, see
    http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8279
    
    Thus, it is not a bug.
    
    Regards
      Wolfgang

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8277



More information about the Gcc-bugs mailing list