From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21492 invoked by alias); 1 Apr 2011 15:09:15 -0000 Received: (qmail 21484 invoked by uid 22791); 1 Apr 2011 15:09:14 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Apr 2011 15:09:10 +0000 Received: (qmail 15653 invoked from network); 1 Apr 2011 15:09:10 -0000 Received: from unknown (HELO scottsdale.localnet) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 1 Apr 2011 15:09:10 -0000 From: Pedro Alves To: gdb-patches@sourceware.org, Keith Seitz Subject: FAIL: gdb.cp/cpexprs.exp: list base::overload(void) Date: Fri, 01 Apr 2011 15:09:00 -0000 User-Agent: KMail/1.13.5 (Linux/2.6.35-28-generic; KDE/4.6.1; x86_64; ; ) MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201104011609.07889.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-04/txt/msg00005.txt.bz2 I've been seeing these failures for a long while: FAIL: gdb.cp/cpexprs.exp: list base::overload(void) FAIL: gdb.cp/cpexprs.exp: setting breakpoint at base::overload(void) FAIL: gdb.cp/cpexprs.exp: continue to base::overload(void) gdb.log shows: list base::overload(void) the class `base' does not have any method instance named overload(void) (gdb) FAIL: gdb.cp/cpexprs.exp: list base::overload(void) and indeed, base::overload(void) is const: // Some overloaded methods int overload (void) const { return 0; } // base::overload(void) const int overload (int i) const { return 1; } // base::overload(int) const int overload (short s) const { return 2; } // base::overload(short) const int overload (long l) const { return 3; } // base::overload(long) const int overload (char* a) const { return 4; } // base::overload(char*) const int overload (base& b) const { return 5; } // base::overload(base&) const cpexprs.exp test all the other overloads with an explicit "const", but the (void) one is tested for both const and non-nonst variants: > # Overloaded methods (all are const -- we try to use the void > # method with and without specifying "const") Why is the non-const variant tried and expected to pass? I tested as far back as 6.8 and it didn't work then either. Is this trying to be a reminder that GDB could be more forgiving and accept the non-const overload, perhaps? That'd sound more like as a it-would-be-nice-if / feature-request than a bug, and shouldn't be a FAIL. Can we just drop it, like below? -- Pedro Alves Index: src/gdb/testsuite/gdb.cp/cpexprs.exp =================================================================== --- src.orig/gdb/testsuite/gdb.cp/cpexprs.exp 2011-04-01 15:52:15.339770000 +0100 +++ src/gdb/testsuite/gdb.cp/cpexprs.exp 2011-04-01 15:53:18.469770000 +0100 @@ -196,12 +196,7 @@ add {base::~base} \ - \ - -# Overloaded methods (all are const -- we try to use the void -# method with and without specifying "const") -add {base::overload(void)} \ - {int (const base * const)} \ - - \ - {base::overload(void) const} +# Overloaded methods (all are const) add {base::overload(void) const} \ {int (const base * const)} \ - \