Work around an apparent compiler bug with gcc-3.1, although it might be
a language feature that I do not know about. gcc is complaining about a left shift >= sizeof type, even when shifting a (cast) 64 bit type left by 43 bits.
This commit is contained in:
parent
25f7063044
commit
78e1e8f574
@ -737,11 +737,14 @@ static void
|
||||
ia64_print_I24(const char *name, u_int64_t ins, db_addr_t loc)
|
||||
{
|
||||
union ia64_instruction u;
|
||||
u_int64_t i;
|
||||
u.ins = ins;
|
||||
i = u.I24.s;
|
||||
i = i << 43;
|
||||
i |= u.I24.imm27a << 16;
|
||||
db_printf("%s pr.rot=%lx",
|
||||
name,
|
||||
sign_extend(((u_int64_t) u.I24.s << 43)
|
||||
| (u.I24.imm27a << 16), 44));
|
||||
sign_extend(i, 44));
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user