gdb/testsuite: some additional tests in gdb.tui/scroll.exp
[binutils-gdb.git] / gdb / linespec.c
index a8ae5943811a7c311b23b4ef60485efe216949cd..4d41f74ab2fbb9ce4204eebaef962942474c58d4 100644 (file)
@@ -1298,83 +1298,6 @@ find_methods (struct type *t, enum language t_lang, const char *name,
     superclasses->push_back (TYPE_BASECLASS (t, ibase));
 }
 
-/* Find an instance of the character C in the string S that is outside
-   of all parenthesis pairs, single-quoted strings, and double-quoted
-   strings.  Also, ignore the char within a template name, like a ','
-   within foo<int, int>, while considering C++ operator</operator<<.  */
-
-const char *
-find_toplevel_char (const char *s, char c)
-{
-  int quoted = 0;              /* zero if we're not in quotes;
-                                  '"' if we're in a double-quoted string;
-                                  '\'' if we're in a single-quoted string.  */
-  int depth = 0;               /* Number of unclosed parens we've seen.  */
-  const char *scan;
-
-  for (scan = s; *scan; scan++)
-    {
-      if (quoted)
-       {
-         if (*scan == quoted)
-           quoted = 0;
-         else if (*scan == '\\' && *(scan + 1))
-           scan++;
-       }
-      else if (*scan == c && ! quoted && depth == 0)
-       return scan;
-      else if (*scan == '"' || *scan == '\'')
-       quoted = *scan;
-      else if (*scan == '(' || *scan == '<')
-       depth++;
-      else if ((*scan == ')' || *scan == '>') && depth > 0)
-       depth--;
-      else if (*scan == 'o' && !quoted && depth == 0)
-       {
-         /* Handle C++ operator names.  */
-         if (strncmp (scan, CP_OPERATOR_STR, CP_OPERATOR_LEN) == 0)
-           {
-             scan += CP_OPERATOR_LEN;
-             if (*scan == c)
-               return scan;
-             while (isspace (*scan))
-               {
-                 ++scan;
-                 if (*scan == c)
-                   return scan;
-               }
-             if (*scan == '\0')
-               break;
-
-             switch (*scan)
-               {
-                 /* Skip over one less than the appropriate number of
-                    characters: the for loop will skip over the last
-                    one.  */
-               case '<':
-                 if (scan[1] == '<')
-                   {
-                     scan++;
-                     if (*scan == c)
-                       return scan;
-                   }
-                 break;
-               case '>':
-                 if (scan[1] == '>')
-                   {
-                     scan++;
-                     if (*scan == c)
-                       return scan;
-                   }
-                 break;
-               }
-           }
-       }
-    }
-
-  return 0;
-}
-
 /* The string equivalent of find_toplevel_char.  Returns a pointer
    to the location of NEEDLE in HAYSTACK, ignoring any occurrences
    inside "()" and "<>".  Returns NULL if NEEDLE was not found.  */
@@ -4273,8 +4196,7 @@ add_minsym (struct minimal_symbol *minsym, struct objfile *objfile,
   if (!list_mode && !msymbol_is_function (objfile, minsym))
     return;
 
-  struct bound_minimal_symbol mo = {minsym, objfile};
-  msyms->push_back (mo);
+  msyms->emplace_back (minsym, objfile);
   return;
 }
 
@@ -4451,7 +4373,7 @@ symbol_to_sal (struct symtab_and_line *result,
          *result = {};
          result->symtab = symbol_symtab (sym);
          result->symbol = sym;
-         result->line = SYMBOL_LINE (sym);
+         result->line = sym->line ();
          result->pc = SYMBOL_VALUE_ADDRESS (sym);
          result->pspace = result->symtab->pspace ();
          result->explicit_pc = 1;
@@ -4461,13 +4383,13 @@ symbol_to_sal (struct symtab_and_line *result,
        {
          /* Nothing.  */
        }
-      else if (SYMBOL_LINE (sym) != 0)
+      else if (sym->line () != 0)
        {
          /* We know its line number.  */
          *result = {};
          result->symtab = symbol_symtab (sym);
          result->symbol = sym;
-         result->line = SYMBOL_LINE (sym);
+         result->line = sym->line ();
          result->pc = SYMBOL_VALUE_ADDRESS (sym);
          result->pspace = result->symtab->pspace ();
          return 1;