* ax-general.c (ax_const_l): Select proper opcode for the given

value.
This commit is contained in:
Jim Blandy 2007-01-07 15:35:44 +00:00
parent f42683e3c9
commit 44a8177417
2 changed files with 11 additions and 2 deletions

View file

@ -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>
* varobj.c (c_value_of_root): Don't select frame if variable

View file

@ -231,8 +231,12 @@ ax_const_l (struct agent_expr *x, LONGEST l)
signed or unsigned; we always reproduce the value exactly, and
use the shortest representation. */
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... */
ax_simple (x, ops[op]);