// Test that we don't discard builtin candidates inappropriately.

struct B { };

struct A {
  operator int ();
  operator B ();
};

void operator+ (B, B);		// { dg-message "operator" "operator" }

int main ()
{
  A a;
  a + a;			// { dg-error "ambiguous" "ambiguous" }
  // { dg-message "operator" "match candidate text" { target *-*-* } .-1 }
}
