From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55009 invoked by alias); 2 Jun 2017 12:31:38 -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 54580 invoked by uid 89); 2 Jun 2017 12:31:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_STOCKGEN,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=locals X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Jun 2017 12:31:35 +0000 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CC6147E9D6 for ; Fri, 2 Jun 2017 12:23:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com CC6147E9D6 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com CC6147E9D6 Received: from cascais.lan (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 32AB54DA6B for ; Fri, 2 Jun 2017 12:23:10 +0000 (UTC) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 29/40] Simplify completion_list_add_name | remove sym_text / sym_text_len Date: Fri, 02 Jun 2017 12:31:00 -0000 Message-Id: <1496406158-12663-30-git-send-email-palves@redhat.com> In-Reply-To: <1496406158-12663-1-git-send-email-palves@redhat.com> References: <1496406158-12663-1-git-send-email-palves@redhat.com> X-SW-Source: 2017-06/txt/msg00042.txt.bz2 sym_text_len existed to strip parameters out of the lookup name. Now that that's handled by the lookup_name_info objects, the sym_text/sym_text_len parameters are no longer necessary. gdb/ChangeLog: yyyy-mm-dd Pedro Alves * ada-lang.c (ada_make_symbol_completion_list): Remove text and text_len locals and don't pass them down. * symtab.c (completion_list_add_name): Remove sym_text/sym_text_len parameters and adjust. (completion_list_add_symbol, completion_list_add_msymbol) (completion_list_objc_symbol, completion_list_add_fields) (add_symtab_completions): Likewise. (default_collect_symbol_completion_matches_break_on) (collect_file_symbol_completion_matches): Remove sym_text_len local and don't pass it down. * symtab.h (completion_list_add_name): Remove sym_text/sym_text_len parameters. --- gdb/ada-lang.c | 18 ++++-------- gdb/symtab.c | 90 +++++++++++++++++++--------------------------------------- gdb/symtab.h | 1 - 3 files changed, 34 insertions(+), 75 deletions(-) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 50f7581..11ff719 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -6432,7 +6432,6 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, const char *text, const char *word, enum type_code code) { - int text_len; struct symbol *sym; struct compunit_symtab *s; struct minimal_symbol *msymbol; @@ -6444,10 +6443,7 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, gdb_assert (code == TYPE_CODE_UNDEF); - text_len = strlen (text); - - lookup_name_info lookup_name (std::string (text, text_len), - name_match_type, true); + lookup_name_info lookup_name (text, name_match_type, true); /* First, look at the partial symtab symbols. */ expand_symtabs_matching (NULL, @@ -6468,8 +6464,7 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, completion_list_add_name (tracker, MSYMBOL_LANGUAGE (msymbol), MSYMBOL_LINKAGE_NAME (msymbol), - lookup_name, - text, text_len, text, word); + lookup_name, text, word); } /* Search upwards from currently selected frame (so that we can @@ -6485,8 +6480,7 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, completion_list_add_name (tracker, SYMBOL_LANGUAGE (sym), SYMBOL_LINKAGE_NAME (sym), - lookup_name, - text, text_len, text, word); + lookup_name, text, word); } } @@ -6502,8 +6496,7 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, completion_list_add_name (tracker, SYMBOL_LANGUAGE (sym), SYMBOL_LINKAGE_NAME (sym), - lookup_name, - text, text_len, text, word); + lookup_name, text, word); } } @@ -6519,8 +6512,7 @@ ada_collect_symbol_completion_matches (completion_tracker &tracker, completion_list_add_name (tracker, SYMBOL_LANGUAGE (sym), SYMBOL_LINKAGE_NAME (sym), - lookup_name, - text, text_len, text, word); + lookup_name, text, word); } } diff --git a/gdb/symtab.c b/gdb/symtab.c index 68b8af5..c5cd9ec 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -4819,7 +4819,6 @@ completion_list_add_name (completion_tracker &tracker, language symbol_language, const char *symname, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word) { completion_match_result &match_res @@ -4841,23 +4840,23 @@ completion_list_add_name (completion_tracker &tracker, { char *newobj; - if (word == sym_text) + if (word == text) { newobj = (char *) xmalloc (strlen (symname) + 5); strcpy (newobj, symname); } - else if (word > sym_text) + else if (word > text) { /* Return some portion of symname. */ newobj = (char *) xmalloc (strlen (symname) + 5); - strcpy (newobj, symname + (word - sym_text)); + strcpy (newobj, symname + (word - text)); } else { /* Return some of SYM_TEXT plus symname. */ - newobj = (char *) xmalloc (strlen (symname) + (sym_text - word) + 5); - strncpy (newobj, word, sym_text - word); - newobj[sym_text - word] = '\0'; + newobj = (char *) xmalloc (strlen (symname) + (text - word) + 5); + strncpy (newobj, word, text - word); + newobj[text - word] = '\0'; strcat (newobj, symname); } @@ -4873,12 +4872,11 @@ static void completion_list_add_symbol (completion_tracker &tracker, symbol *sym, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word) { completion_list_add_name (tracker, SYMBOL_LANGUAGE (sym), SYMBOL_NATURAL_NAME (sym), - lookup_name, sym_text, sym_text_len, text, word); + lookup_name, text, word); } /* completion_list_add_name wrapper for struct minimal_symbol. */ @@ -4887,12 +4885,11 @@ static void completion_list_add_msymbol (completion_tracker &tracker, minimal_symbol *sym, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word) { completion_list_add_name (tracker, MSYMBOL_LANGUAGE (sym), MSYMBOL_NATURAL_NAME (sym), - lookup_name, sym_text, sym_text_len, text, word); + lookup_name, text, word); } @@ -4903,7 +4900,6 @@ static void completion_list_objc_symbol (completion_tracker &tracker, struct minimal_symbol *msymbol, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word) { static char *tmp = NULL; @@ -4918,12 +4914,12 @@ completion_list_objc_symbol (completion_tracker &tracker, if ((method[0] != '-') && (method[0] != '+')) return; - if (sym_text[0] == '[') + if (text[0] == '[') /* Complete on shortened method method. */ completion_list_add_name (tracker, language_objc, method + 1, lookup_name, - sym_text, sym_text_len, text, word); + text, word); while ((strlen (method) + 1) >= tmplen) { @@ -4945,12 +4941,10 @@ completion_list_objc_symbol (completion_tracker &tracker, tmp[category - method] = ' '; memcpy (tmp + (category - method) + 1, selector, strlen (selector) + 1); completion_list_add_name (tracker, language_objc, tmp, - lookup_name, - sym_text, sym_text_len, text, word); - if (sym_text[0] == '[') + lookup_name, text, word); + if (text[0] == '[') completion_list_add_name (tracker, language_objc, tmp + 1, - lookup_name, - sym_text, sym_text_len, text, word); + lookup_name, text, word); } if (selector != NULL) @@ -4962,8 +4956,7 @@ completion_list_objc_symbol (completion_tracker &tracker, *tmp2 = '\0'; completion_list_add_name (tracker, language_objc, tmp, - lookup_name, - sym_text, sym_text_len, text, word); + lookup_name, text, word); } } @@ -5017,7 +5010,6 @@ static void completion_list_add_fields (completion_tracker &tracker, struct symbol *sym, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word) { if (SYMBOL_CLASS (sym) == LOC_TYPEDEF) @@ -5031,8 +5023,7 @@ completion_list_add_fields (completion_tracker &tracker, if (TYPE_FIELD_NAME (t, j)) completion_list_add_name (tracker, SYMBOL_LANGUAGE (sym), TYPE_FIELD_NAME (t, j), - lookup_name, - sym_text, sym_text_len, text, word); + lookup_name, text, word); } } @@ -5042,7 +5033,6 @@ static void add_symtab_completions (struct compunit_symtab *cust, completion_tracker &tracker, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word, enum type_code code) { @@ -5065,7 +5055,6 @@ add_symtab_completions (struct compunit_symtab *cust, && TYPE_CODE (SYMBOL_TYPE (sym)) == code)) completion_list_add_symbol (tracker, sym, lookup_name, - sym_text, sym_text_len, text, word); } } @@ -5091,8 +5080,6 @@ default_collect_symbol_completion_matches_break_on struct block_iterator iter; /* The symbol we are completing on. Points in same buffer as text. */ const char *sym_text; - /* Length of sym_text. */ - int sym_text_len; struct cleanup *cleanups; /* Now look for the symbol we are supposed to complete on. */ @@ -5149,10 +5136,7 @@ default_collect_symbol_completion_matches_break_on } } - sym_text_len = strlen (sym_text); - - lookup_name_info lookup_name (std::string (sym_text, sym_text_len), - name_match_type, true); + lookup_name_info lookup_name (sym_text, name_match_type, true); /* At this point scan through the misc symbol vectors and add each symbol you find to the list. Eventually we want to ignore @@ -5166,19 +5150,17 @@ default_collect_symbol_completion_matches_break_on QUIT; completion_list_add_msymbol (tracker, msymbol, lookup_name, - sym_text, sym_text_len, - text, word); + sym_text, word); completion_list_objc_symbol (tracker, msymbol, lookup_name, - sym_text, sym_text_len, text, - word); + sym_text, word); } } /* Add completions for all currently loaded symbol tables. */ ALL_COMPUNITS (objfile, cust) add_symtab_completions (cust, tracker, lookup_name, - sym_text, sym_text_len, text, word, code); + sym_text, word, code); /* Look through the partial symtabs for all symbols which begin by matching SYM_TEXT. Expand all CUs that you find to the list. */ @@ -5189,8 +5171,7 @@ default_collect_symbol_completion_matches_break_on { add_symtab_completions (symtab, tracker, lookup_name, - sym_text, sym_text_len, - text, word, code); + sym_text, word, code); }, ALL_DOMAIN); @@ -5212,17 +5193,14 @@ default_collect_symbol_completion_matches_break_on if (code == TYPE_CODE_UNDEF) { completion_list_add_symbol (tracker, sym, lookup_name, - sym_text, sym_text_len, text, - word); + sym_text, word); completion_list_add_fields (tracker, sym, lookup_name, - sym_text, sym_text_len, text, - word); + sym_text, word); } else if (SYMBOL_DOMAIN (sym) == STRUCT_DOMAIN && TYPE_CODE (SYMBOL_TYPE (sym)) == code) completion_list_add_symbol (tracker, sym, lookup_name, - sym_text, sym_text_len, text, - word); + sym_text, word); } /* Stop when we encounter an enclosing function. Do not stop for @@ -5240,12 +5218,12 @@ default_collect_symbol_completion_matches_break_on if (surrounding_static_block != NULL) ALL_BLOCK_SYMBOLS (surrounding_static_block, iter, sym) completion_list_add_fields (tracker, sym, lookup_name, - sym_text, sym_text_len, text, word); + sym_text, word); if (surrounding_global_block != NULL) ALL_BLOCK_SYMBOLS (surrounding_global_block, iter, sym) completion_list_add_fields (tracker, sym, lookup_name, - sym_text, sym_text_len, text, word); + sym_text, word); } /* Skip macros if we are completing a struct tag -- arguable but @@ -5261,12 +5239,8 @@ default_collect_symbol_completion_matches_break_on macro_source_file *, int) { - completion_list_add_name (tracker, - language_c, - macro_name, - lookup_name, - sym_text, sym_text_len, - text, word); + completion_list_add_name (tracker, language_c, macro_name, + lookup_name, sym_text, word); }; /* Add any macros visible in the default scope. Note that this @@ -5349,8 +5323,6 @@ collect_file_symbol_completion_matches (completion_tracker &tracker, { /* The symbol we are completing on. Points in same buffer as text. */ const char *sym_text; - /* Length of sym_text. */ - int sym_text_len; /* Now look for the symbol we are supposed to complete on. FIXME: This should be language-specific. */ @@ -5398,10 +5370,7 @@ collect_file_symbol_completion_matches (completion_tracker &tracker, } } - sym_text_len = strlen (sym_text); - - lookup_name_info lookup_name (std::string (sym_text, sym_text_len), - name_match_type, true); + lookup_name_info lookup_name (sym_text, name_match_type, true); /* Go through symtabs for SRCFILE and check the externs and statics for symbols which match. */ @@ -5409,8 +5378,7 @@ collect_file_symbol_completion_matches (completion_tracker &tracker, { add_symtab_completions (SYMTAB_COMPUNIT (s), tracker, lookup_name, - sym_text, sym_text_len, - text, word, TYPE_CODE_UNDEF); + sym_text, word, TYPE_CODE_UNDEF); return false; }); } diff --git a/gdb/symtab.h b/gdb/symtab.h index a452804..d68eed8 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1966,7 +1966,6 @@ void completion_list_add_name (completion_tracker &tracker, language symbol_language, const char *symname, const lookup_name_info &lookup_name, - const char *sym_text, int sym_text_len, const char *text, const char *word); #endif /* !defined(SYMTAB_H) */ -- 2.5.5