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

@@ -49,7 +49,7 @@ convert_one_symbol (compile_cplus_instance *instance,
/* Squash compiler warning. */
gcc_type sym_type = 0;
const char *filename = sym.symbol->symtab ()->filename;
unsigned short line = sym.symbol->line ();
unsigned int line = sym.symbol->line ();
instance->error_symbol_once (sym.symbol);