re PR debug/84637 (gcc/dbxout.c:684:14: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'; cast to an unsigned type to negate this value to itself)

PR debug/84637
	* dbxout.c (dbxout_int): Perform negation in unsigned int type.
	(stabstr_D): Change type of unum from unsigned int to
	unsigned HOST_WIDE_INT.  Perform negation in unsigned HOST_WIDE_INT
	type.

From-SVN: r259451
This commit is contained in:
Jakub Jelinek 2018-04-18 00:18:47 +02:00 committed by Jakub Jelinek
parent 035fc2add1
commit b5872261d5
2 changed files with 11 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2018-04-17 Jakub Jelinek <jakub@redhat.com>
PR debug/84637
* dbxout.c (dbxout_int): Perform negation in unsigned int type.
(stabstr_D): Change type of unum from unsigned int to
unsigned HOST_WIDE_INT. Perform negation in unsigned HOST_WIDE_INT
type.
2018-04-17 Jim Wilson <jimw@sifive.com>
PR 84856

View file

@ -464,7 +464,7 @@ dbxout_int (int num)
if (num < 0)
{
putc ('-', asm_out_file);
unum = -num;
unum = -(unsigned int) num;
}
else
unum = num;
@ -671,7 +671,7 @@ stabstr_D (HOST_WIDE_INT num)
{
char buf[64];
char *p = buf + sizeof buf;
unsigned int unum;
unsigned HOST_WIDE_INT unum;
if (num == 0)
{
@ -681,7 +681,7 @@ stabstr_D (HOST_WIDE_INT num)
if (num < 0)
{
stabstr_C ('-');
unum = -num;
unum = -(unsigned HOST_WIDE_INT) num;
}
else
unum = num;