Move gdbserver tdesc header funcs to c file
[deliverable/binutils-gdb.git] / gdb / linespec.c
index 909dc328d26ab0db1c00e5466a2cd32e2ffc2883..1236b3f4754af8a90ecbb1190a7de6f359c60211 100644 (file)
@@ -1,6 +1,6 @@
 /* Parser for linespec for the GNU debugger, GDB.
 
-   Copyright (C) 1986-2017 Free Software Foundation, Inc.
+   Copyright (C) 1986-2018 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -745,6 +745,11 @@ linespec_lexer_lex_string (linespec_parser *parser)
              if (PARSER_STREAM (parser)[1] == ':')
                ++(PARSER_STREAM (parser));
 
+             /* Do not tokenize ABI tags such as "[abi:cxx11]".  */
+             else if (PARSER_STREAM (parser) - start > 4
+                      && startswith (PARSER_STREAM (parser) - 4, "[abi"))
+               ++(PARSER_STREAM (parser));
+
              /* Do not tokenify if the input length so far is one
                 (i.e, a single-letter drive name) and the next character
                 is a directory separator.  This allows Windows-style
@@ -1221,7 +1226,7 @@ find_methods (struct type *t, enum language t_lang, const char *name,
       int method_counter;
       lookup_name_info lookup_name (name, symbol_name_match_type::FULL);
       symbol_name_matcher_ftype *symbol_name_compare
-       = language_get_symbol_name_matcher (language_def (t_lang), lookup_name);
+       = get_symbol_name_matcher (language_def (t_lang), lookup_name);
 
       t = check_typedef (t);
 
@@ -2241,9 +2246,6 @@ create_sals_line_offset (struct linespec_state *self,
 
            if (self->funfirstline)
              skip_prologue_sal (&intermediate_results[i]);
-           /* Make sure the line matches the request, not what was
-              found.  */
-           intermediate_results[i].line = val.line;
            add_sal_to_sals (self, &values, &intermediate_results[i],
                             sym ? SYMBOL_NATURAL_NAME (sym) : NULL, 0);
          }
@@ -3108,7 +3110,6 @@ linespec_complete (completion_tracker &tracker, const char *text,
         the ':', then complete_linespec_component won't try to
         complete on source filenames.  */
 
-      const char *text = parser.completion_word;
       const char *word = parser.completion_word;
 
       complete_linespec_component (&parser, tracker,
@@ -4154,7 +4155,6 @@ find_label_symbols (struct linespec_state *self,
 {
   int ix;
   const struct block *block;
-  struct symbol *sym;
   struct symbol *fn_sym;
   VEC (symbolp) *result = NULL;
 
@@ -4362,9 +4362,10 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
       sal.objfile = objfile;
       sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
       sal.pspace = current_program_space;
-      sal.section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
     }
 
+  sal.section = MSYMBOL_OBJ_SECTION (objfile, msymbol);
+
   if (maybe_add_address (self->addr_set, objfile->pspace, sal.pc))
     add_sal_to_sals (self, result, &sal, MSYMBOL_NATURAL_NAME (msymbol), 0);
 }
This page took 0.024875 seconds and 4 git commands to generate.