// 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 } }