diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-04-18 00:18:47 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-04-18 00:18:47 +0200 |
commit | b5872261d5e448c85903c4f3df7e1970fc4c112a (patch) | |
tree | d666d771d14a378c69df6225b17097e768cd2f4c | |
parent | 035fc2add18c0dd06c22bd158a47bf35b8c1c528 (diff) | |
download | gcc-b5872261d5e448c85903c4f3df7e1970fc4c112a.zip gcc-b5872261d5e448c85903c4f3df7e1970fc4c112a.tar.gz gcc-b5872261d5e448c85903c4f3df7e1970fc4c112a.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/dbxout.c | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf4f7cc..2d4966d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/dbxout.c b/gcc/dbxout.c index a77e652..8157536 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -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; |