Change symbol::line to unsigned int

A user here at AdaCore noticed that, when debugging a certain program,
a stack frame reported line 34358, where it should have been line
99894.

After debugging a bit, I discovered:

(top) p (99894 & ~65536)
$60 = 34358

That line, symbol::line is too narrow.

This patch widens the member and changes all the uses that currently
use the narrower type.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
This commit is contained in:
Tom Tromey 2023-03-22 13:43:03 -06:00
parent 7005080802
commit 72a8f76323
5 changed files with 58 additions and 11 deletions

View file

@ -802,7 +802,7 @@ compile_cplus_convert_struct_or_union (compile_cplus_instance *instance,
enum gcc_cp_symbol_kind nested_access)
{
const char *filename = nullptr;
unsigned short line = 0;
unsigned int line = 0;
/* Get the decl name of this type. */
gdb::unique_xmalloc_ptr<char> name