* read.c (convert_to_bignum): New function, split out from...
commitd5ddfa61b4a50985d29562f52b878d71c6e21f36
authorRichard Sandiford <rsandifo@nildram.co.uk>
Wed, 19 Jan 2005 11:53:53 +0000 (19 11:53 +0000)
committerRichard Sandiford <rsandifo@nildram.co.uk>
Wed, 19 Jan 2005 11:53:53 +0000 (19 11:53 +0000)
tree5f49804af0a7c90dc608c3361c258e04604eabee
parent3b08da642930356296d841eac95dc6d6ac877bb4
* read.c (convert_to_bignum): New function, split out from...
(emit_expr): ...here.  Handle the case where X_add_number is
positive and the input value is negative.
(output_big_sleb128): Fix setting of continuation bit.  Check whether
the final byte needs to be sign-extended.  Fix size-shrinking loop.
(emit_leb128_expr): When generating a signed leb128, see whether the
sign of an O_constant's X_add_number matches the sign of the input
value.  Use a bignum if not.
gas/ChangeLog
gas/read.c
gas/testsuite/ChangeLog
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/all/quad.d [new file with mode: 0644]
gas/testsuite/gas/all/quad.s [new file with mode: 0644]
gas/testsuite/gas/all/sleb128.d [new file with mode: 0644]
gas/testsuite/gas/all/sleb128.s [new file with mode: 0644]