Rename _const functions to use overloading instead
[deliverable/binutils-gdb.git] / gdb / linespec.c
index 5396ebab929d2f74293579430587be365f900958..b69ab629eec86f4507cafffbecea1478ff934ebd 100644 (file)
@@ -45,6 +45,7 @@
 #include "stack.h"
 #include "location.h"
 #include "common/function-view.h"
+#include "common/def-vector.h"
 
 /* An enumeration of the various things a user might attempt to
    complete for a linespec location.  */
@@ -473,7 +474,7 @@ linespec_lexer_lex_keyword (const char *p)
              if (i != IF_KEYWORD_INDEX)
                {
                  p += len;
-                 p = skip_spaces_const (p);
+                 p = skip_spaces (p);
                  for (j = 0; linespec_keywords[j] != NULL; ++j)
                    {
                      int nextlen = strlen (linespec_keywords[j]);
@@ -708,7 +709,7 @@ linespec_lexer_lex_string (linespec_parser *parser)
        {
          if (isspace (*PARSER_STREAM (parser)))
            {
-             p = skip_spaces_const (PARSER_STREAM (parser));
+             p = skip_spaces (PARSER_STREAM (parser));
              /* When we get here we know we've found something followed by
                 a space (we skip over parens and templates below).
                 So if we find a keyword now, we know it is a keyword and not,
@@ -855,7 +856,7 @@ linespec_lexer_lex_one (linespec_parser *parser)
   if (parser->lexer.current.type == LSTOKEN_CONSUMED)
     {
       /* Skip any whitespace.  */
-      PARSER_STREAM (parser) = skip_spaces_const (PARSER_STREAM (parser));
+      PARSER_STREAM (parser) = skip_spaces (PARSER_STREAM (parser));
 
       /* Check for a keyword, they end the linespec.  */
       keyword = linespec_lexer_lex_keyword (PARSER_STREAM (parser));
@@ -1769,7 +1770,7 @@ set_completion_after_number (linespec_parser *parser,
 {
   if (*PARSER_STREAM (parser) == ' ')
     {
-      parser->completion_word = skip_spaces_const (PARSER_STREAM (parser) + 1);
+      parser->completion_word = skip_spaces (PARSER_STREAM (parser) + 1);
       parser->complete_what = next;
     }
   else
@@ -1999,7 +2000,7 @@ linespec_parse_basic (linespec_parser *parser)
                  if (ptr[i] == ' ')
                    {
                      LS_TOKEN_STOKEN (token).length = i;
-                     PARSER_STREAM (parser) = skip_spaces_const (ptr + i + 1);
+                     PARSER_STREAM (parser) = skip_spaces (ptr + i + 1);
                      break;
                    }
                }
@@ -2126,11 +2127,8 @@ static std::vector<symtab_and_line>
 create_sals_line_offset (struct linespec_state *self,
                         linespec_p ls)
 {
-  struct symtab_and_line val;
   int use_default = 0;
 
-  init_sal (&val);
-
   /* This is where we need to make sure we have good defaults.
      We must guarantee that this section of code is never executed
      when we are called with just a function name, since
@@ -2155,6 +2153,7 @@ create_sals_line_offset (struct linespec_state *self,
       use_default = 1;
     }
 
+  symtab_and_line val;
   val.line = ls->explicit_loc.line_offset.offset;
   switch (ls->explicit_loc.line_offset.sign)
     {
@@ -2184,8 +2183,6 @@ create_sals_line_offset (struct linespec_state *self,
   else
     {
       struct linetable_entry *best_entry = NULL;
-      int *filter;
-      const struct block **blocks;
       int i, j;
 
       std::vector<symtab_and_line> intermediate_results
@@ -2205,10 +2202,8 @@ create_sals_line_offset (struct linespec_state *self,
         above, we see if there are other PCs that are in the same
         block.  If yes, the other PCs are filtered out.  */
 
-      filter = XNEWVEC (int, intermediate_results.size ());
-      struct cleanup *cleanup = make_cleanup (xfree, filter);
-      blocks = XNEWVEC (const struct block *, intermediate_results.size ());
-      make_cleanup (xfree, blocks);
+      gdb::def_vector<int> filter (intermediate_results.size ());
+      gdb::def_vector<const block *> blocks (intermediate_results.size ());
 
       for (i = 0; i < intermediate_results.size (); ++i)
        {
@@ -2247,8 +2242,6 @@ create_sals_line_offset (struct linespec_state *self,
            add_sal_to_sals (self, &values, &intermediate_results[i],
                             sym ? SYMBOL_NATURAL_NAME (sym) : NULL, 0);
          }
-
-      do_cleanups (cleanup);
     }
 
   if (values.empty ())
@@ -2704,7 +2697,7 @@ parse_linespec (linespec_parser *parser, const char *arg)
         advances past a keyword automatically, so skip it
         manually.  */
       parser->completion_word
-       = skip_spaces_const (skip_to_space_const (PARSER_STREAM (parser)));
+       = skip_spaces (skip_to_space (PARSER_STREAM (parser)));
       parser->complete_what = linespec_complete_what::EXPRESSION;
     }
 
@@ -4235,9 +4228,7 @@ decode_digits_ordinary (struct linespec_state *self,
       pcs = find_pcs_for_symtab_line (elt, line, best_entry);
       for (CORE_ADDR pc : pcs)
        {
-         struct symtab_and_line sal;
-
-         init_sal (&sal);
+         symtab_and_line sal;
          sal.pspace = SYMTAB_PSPACE (elt);
          sal.symtab = elt;
          sal.line = line;
@@ -4619,7 +4610,7 @@ symbol_to_sal (struct symtab_and_line *result,
     {
       if (SYMBOL_CLASS (sym) == LOC_LABEL && SYMBOL_VALUE_ADDRESS (sym) != 0)
        {
-         init_sal (result);
+         *result = {};
          result->symtab = symbol_symtab (sym);
          result->line = SYMBOL_LINE (sym);
          result->pc = SYMBOL_VALUE_ADDRESS (sym);
@@ -4634,7 +4625,7 @@ symbol_to_sal (struct symtab_and_line *result,
       else if (SYMBOL_LINE (sym) != 0)
        {
          /* We know its line number.  */
-         init_sal (result);
+         *result = {};
          result->symtab = symbol_symtab (sym);
          result->line = SYMBOL_LINE (sym);
          result->pspace = SYMTAB_PSPACE (result->symtab);
This page took 0.026038 seconds and 4 git commands to generate.