From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22437 invoked by alias); 19 Dec 2019 09:58:30 -0000 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 Received: (qmail 22422 invoked by uid 89); 19 Dec 2019 09:58:30 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=offers X-HELO: mail-wr1-f67.google.com Received: from mail-wr1-f67.google.com (HELO mail-wr1-f67.google.com) (209.85.221.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 19 Dec 2019 09:58:28 +0000 Received: by mail-wr1-f67.google.com with SMTP id c9so5301806wrw.8 for ; Thu, 19 Dec 2019 01:58:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=QDcd54d3UsWS9MRpizLWXsK6+8BUdR9jeHnXkRf73gM=; b=YB9bUPIHdlNXAErZM0oJyAcCltS0xz9eGlIbXc7FHUtWpdkTcVcve5nWjdhCsDJ4uR m9SBbOqpbVS332wjGHXCOqpOunHViFcqfIUkfDV4gE9at06xfv+I6pvHRykvjj4NYpwy QT3tWp4IhsZuzTrh97ss4NiVFw+MUqQMb5Ij6jeFikXmnwRP2gHz9OOTpgAAt1m547V4 NIkN8nwIQyTvE8Cnc0lnhM4+4Dff6d+jllm6rlyHGvnl+klTDV+quu+FGRS/NrB+rKui nUqMmXqfiS8fn8LSYUq9MKjAHSAc4Z0ujjEmbaZSPRv8Ue7AxVjneTK7VQZyqydRS2HQ FxAg== Return-Path: Received: from localhost (host86-186-80-236.range86-186.btcentralplus.com. [86.186.80.236]) by smtp.gmail.com with ESMTPSA id s10sm5807207wrw.12.2019.12.19.01.58.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 19 Dec 2019 01:58:25 -0800 (PST) Date: Thu, 19 Dec 2019 09:58:00 -0000 From: Andrew Burgess To: Christian Biesinger Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Remove completion_list_add_msymbol Message-ID: <20191219095825.GB3865@embecosm.com> References: <20191219014238.85498-1-cbiesinger@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191219014238.85498-1-cbiesinger@google.com> X-Fortune: May I ask a question? X-Editor: GNU Emacs [ http://www.gnu.org/software/emacs ] User-Agent: Mutt/1.9.2 (2017-12-15) X-IsSubscribed: yes X-SW-Source: 2019-12/txt/msg00809.txt.bz2 * Christian Biesinger via gdb-patches [2019-12-18 19:42:38 -0600]: > Now that both symbol and minimal_symbol inherit from general_symbol_info, > we can use the same function for both here. > > gdb/ChangeLog: > > 2019-12-18 Christian Biesinger > > * symtab.c (completion_list_add_symbol): Update. > (completion_list_add_msymbol): Remove. > (default_collect_symbol_completion_matches_break_on): Update. I have a change I'm currently working on that I think will add some additional code to completion_list_add_symbol but not completion_list_add_msymbol, however, it might take me a week or so to finish up the change. I'm happy for this patch to go in, but just a warning I might end up having to reverse this as part of my work when I get it finished. In case you (or anyone) is interested, the problem I'm trying to fix is something that has annoyed me for ages. Consider this C++ code: struct object { int a; }; typedef object *object_p; static int get_value (object_p obj) { return obj->a; } int main () { object obj; obj.a = 0; int val = get_value (&obj); return val; } Now in GDB: (gdb) complete break get_va break get_value(object*) break get_value(object_p) Those two completions, that's what drives me mad. I now have GDB basically fixed up so that it only offers `break get_value(object_p)` as a completion (though you can manually type either if you wish), but I just have one more issue left to resolve. Thanks, Andrew > > Change-Id: Ifa01837d5f7e3438e7e6599c08baf1a2e7f086c9 > --- > gdb/symtab.c | 22 ++++------------------ > 1 file changed, 4 insertions(+), 18 deletions(-) > > diff --git a/gdb/symtab.c b/gdb/symtab.c > index 26551372cb..a76c5d304f 100644 > --- a/gdb/symtab.c > +++ b/gdb/symtab.c > @@ -5250,11 +5250,11 @@ completion_list_add_name (completion_tracker &tracker, > } > } > > -/* completion_list_add_name wrapper for struct symbol. */ > +/* completion_list_add_name wrapper for struct general_symbol_info. */ > > static void > completion_list_add_symbol (completion_tracker &tracker, > - symbol *sym, > + general_symbol_info *sym, > const lookup_name_info &lookup_name, > const char *text, const char *word) > { > @@ -5263,20 +5263,6 @@ completion_list_add_symbol (completion_tracker &tracker, > lookup_name, text, word); > } > > -/* completion_list_add_name wrapper for struct minimal_symbol. */ > - > -static void > -completion_list_add_msymbol (completion_tracker &tracker, > - minimal_symbol *sym, > - const lookup_name_info &lookup_name, > - const char *text, const char *word) > -{ > - completion_list_add_name (tracker, sym->language (), > - sym->natural_name (), > - lookup_name, text, word); > -} > - > - > /* ObjC: In case we are completing on a selector, look as the msymbol > again and feed all the selectors into the mill. */ > > @@ -5614,8 +5600,8 @@ default_collect_symbol_completion_matches_break_on > if (completion_skip_symbol (mode, msymbol)) > continue; > > - completion_list_add_msymbol (tracker, msymbol, lookup_name, > - sym_text, word); > + completion_list_add_symbol (tracker, msymbol, lookup_name, > + sym_text, word); > > completion_list_objc_symbol (tracker, msymbol, lookup_name, > sym_text, word); > -- > 2.24.1.735.g03f4e72817-goog >