http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57572

            Bug ID: 57572
           Summary: vector operators don't participate in overload
                    resolution
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: glisse at gcc dot gnu.org

typedef int vec __attribute__((vector_size(4*sizeof(int))));
struct A{
  operator vec()const;
};
vec f(vec x, A y){
  return x<y;
}

e.cc: In function 'vec f(vec, A)':
e.cc:6:11: error: no match for 'operator<' (operand types are 'vec {aka
__vector(4) int}' and 'A')
   return x<y;
           ^

I think this happens around add_builtin_candidate(s) for scalars.

Reply via email to