* ax-general.c (ax_const_l): Select proper opcode for the given
value.
This commit is contained in:
parent
f42683e3c9
commit
44a8177417
2 changed files with 11 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2007-01-07 Jim Blandy <jimb@codesourcery.com>
|
||||||
|
|
||||||
|
* ax-general.c (ax_const_l): Select proper opcode for the given
|
||||||
|
value.
|
||||||
|
|
||||||
2007-01-04 Vladimir Prus <vladimir@codesourcery.com>
|
2007-01-04 Vladimir Prus <vladimir@codesourcery.com>
|
||||||
|
|
||||||
* varobj.c (c_value_of_root): Don't select frame if variable
|
* varobj.c (c_value_of_root): Don't select frame if variable
|
||||||
|
|
|
@ -231,8 +231,12 @@ ax_const_l (struct agent_expr *x, LONGEST l)
|
||||||
signed or unsigned; we always reproduce the value exactly, and
|
signed or unsigned; we always reproduce the value exactly, and
|
||||||
use the shortest representation. */
|
use the shortest representation. */
|
||||||
for (op = 0, size = 8; size < 64; size *= 2, op++)
|
for (op = 0, size = 8; size < 64; size *= 2, op++)
|
||||||
if (-((LONGEST) 1 << size) <= l && l < ((LONGEST) 1 << size))
|
{
|
||||||
break;
|
LONGEST lim = 1 << (size - 1);
|
||||||
|
|
||||||
|
if (-lim <= l && l <= lim - 1)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* Emit the right opcode... */
|
/* Emit the right opcode... */
|
||||||
ax_simple (x, ops[op]);
|
ax_simple (x, ops[op]);
|
||||||
|
|
Loading…
Add table
Reference in a new issue