Change find_pcs_for_symtab_line to return a std::vector

This changes find_pcs_for_symtab_line to return a std::vector.  This
allows the removal of some cleanups.

gdb/ChangeLog
2017-04-12  Tom Tromey  <tom@tromey.com>

	* symtab.h (find_pcs_for_symtab_line): Change return type.
	* symtab.c (find_pcs_for_symtab_line): Change return type.
	* python/py-linetable.c (build_line_table_tuple_from_pcs): Change
	type of "vec".  Update.
	(ltpy_get_pcs_for_line): Update.
	* linespec.c (decode_digits_ordinary): Update.
This commit is contained in:
Tom Tromey 2017-04-06 16:38:56 -06:00
parent 93921405a4
commit 67d8990150
5 changed files with 28 additions and 30 deletions

View file

@ -3289,15 +3289,15 @@ done:
}
/* Given SYMTAB, returns all the PCs function in the symtab that
exactly match LINE. Returns NULL if there are no exact matches,
but updates BEST_ITEM in this case. */
exactly match LINE. Returns an empty vector if there are no exact
matches, but updates BEST_ITEM in this case. */
VEC (CORE_ADDR) *
std::vector<CORE_ADDR>
find_pcs_for_symtab_line (struct symtab *symtab, int line,
struct linetable_entry **best_item)
{
int start = 0;
VEC (CORE_ADDR) *result = NULL;
std::vector<CORE_ADDR> result;
/* First, collect all the PCs that are at this line. */
while (1)
@ -3320,8 +3320,7 @@ find_pcs_for_symtab_line (struct symtab *symtab, int line,
break;
}
VEC_safe_push (CORE_ADDR, result,
SYMTAB_LINETABLE (symtab)->item[idx].pc);
result.push_back (SYMTAB_LINETABLE (symtab)->item[idx].pc);
start = idx + 1;
}