From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15362 invoked by alias); 13 Jun 2010 14:05:26 -0000 Received: (qmail 15337 invoked by uid 48); 13 Jun 2010 14:05:14 -0000 Date: Sun, 13 Jun 2010 14:05:00 -0000 Subject: [Bug c++/44524] New: improve diagnostic for . vs -> typo X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "manu at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-06/txt/msg01460.txt.bz2 Testcase: #include int bar(std::map *X) { return X.empty(); } gcc-4.6: /home/manuel/test/src/gcc/testsuite/g++.dg/warn/clang-11.C: In function 'int bar(std::map*)':^M /home/manuel/test/src/gcc/testsuite/g++.dg/warn/clang-11.C:4:12: error: request for member 'empty' in 'X', which is of non-class type 'std::map*' clang: t.cc:4:11: error: member reference type 'std::map *' is a pointer; maybe you meant to use '->'? return X.empty(); ~^ -> In GCC, we would need to mention X and empty somewhere in addition to the type. I would suggest: error: request for member 'empty' in 'X', which has pointer type 'std::map *' ; maybe you meant to use '->' -- Summary: improve diagnostic for . vs -> typo Product: gcc Version: unknown Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: manu at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44524