From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 681 invoked by alias); 18 Jun 2004 23:33:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 673 invoked by uid 48); 18 Jun 2004 23:33:03 -0000 Date: Fri, 18 Jun 2004 23:33:00 -0000 From: "igodard at pacbell dot net" To: gcc-bugs@gcc.gnu.org Message-ID: <20040618233300.16068.igodard@pacbell.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/16068] New: Bad error message X-Bugzilla-Reason: CC X-SW-Source: 2004-06/txt/msg02305.txt.bz2 List-Id: In: #include class A{}; template void operator<<(const A&, const T& t) {} int main() { A a; a << std::endl; } You get the message: ~/ootbc/common/test/src$ g++ foo1.cc foo1.cc: In function `int main()': foo1.cc:9: error: no match for 'operator<<' in 'a << std::endl' While there is an error here, it is that there are multiple matches (endl is an overloaded function, all of which match) and is ambiguous, rather than that there are no matches. The error should should the usual unresolvable ambiguity message listing the ambiguous identifications. This bug is related to #16058, which was (incorrectly) reported as an indentification error as a result of a message like this. Ivan -- Summary: Bad error message Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16068