Given code like the following (stolen from tests):
template <typename T1, typename T2> int f(T1 *, const T2 *); template <typename T1, typename T2> int f(const T1 *, T2 *); int (*p)(const int *, const int *) = f;
Clang will currently emit two "address of overloaded function f is ambiguous" errors for the same assignment (on line 3).
This patch makes us only emit one.