https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12697
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |msebor at gcc dot gnu.org Known to work| |7.0 Resolution|--- |FIXED Known to fail| |3.3, 4.5.3, 4.8.3, 4.9.3, | |5.3.0, 6.3.0 --- Comment #10 from Martin Sebor <msebor at gcc dot gnu.org> --- Today's top of trunk (GCC 7) prints the following single error message followed by four distinct notes. There is no duplication there (6.3 still prints a duplicate message). Resolving as fixed. $ cat t.C && gcc -S -Wall -Wextra -Wpedantic t.C void Foo(signed char, signed char); void Foo(unsigned char, unsigned char); void Foo(int, int); void Foo(unsigned int, unsigned int); int main() { unsigned char u; signed char i; Foo(u, i); } t.C: In function ‘int main()’: t.C:10:11: error: call of overloaded ‘Foo(unsigned char&, signed char&)’ is ambiguous Foo(u, i); ^ t.C:1:6: note: candidate: void Foo(signed char, signed char) void Foo(signed char, signed char); ^~~ t.C:2:6: note: candidate: void Foo(unsigned char, unsigned char) void Foo(unsigned char, unsigned char); ^~~ t.C:4:6: note: candidate: void Foo(int, int) void Foo(int, int); ^~~ t.C:5:6: note: candidate: void Foo(unsigned int, unsigned int) void Foo(unsigned int, unsigned int);