diff options
Diffstat (limited to 'gas/config/tc-visium.c')
-rw-r--r-- | gas/config/tc-visium.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/gas/config/tc-visium.c b/gas/config/tc-visium.c index 93c108f..01767f3 100644 --- a/gas/config/tc-visium.c +++ b/gas/config/tc-visium.c @@ -201,7 +201,7 @@ md_section_align (asection *seg, valueT addr) { int align = bfd_section_alignment (seg); - return ((addr + (1 << align) - 1) & -(1 << align)); + return (addr + ((valueT) 1 << align) - 1) & -((valueT) 1 << align); } void @@ -412,10 +412,9 @@ relaxed_symbol_addr (fragS *fragp, long stretch) if (f->fr_type == rs_align || f->fr_type == rs_align_code) { if (stretch < 0) - stretch = - ((- stretch) - & ~ ((1 << (int) f->fr_offset) - 1)); + stretch = -(-stretch & ~((1ul << f->fr_offset) - 1)); else - stretch &= ~ ((1 << (int) f->fr_offset) - 1); + stretch &= ~((1ul << f->fr_offset) - 1); if (stretch == 0) break; } @@ -493,7 +492,7 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED, segT sec ATTRIBUTE_UNUSED, long visium_pcrel_from_section (fixS *fixP, segT sec) { - if (fixP->fx_addsy != (symbolS *) NULL + if (fixP->fx_addsy != NULL && (!S_IS_DEFINED (fixP->fx_addsy) || S_GET_SEGMENT (fixP->fx_addsy) != sec)) { @@ -634,7 +633,7 @@ md_apply_fix (fixS * fixP, valueT * value, segT segment) break; default: /* It's a relocation against an instruction. */ - insn = bfd_getb32 ((unsigned char *) buf); + insn = bfd_getb32 (buf); switch (fixP->fx_r_type) { @@ -683,11 +682,11 @@ md_apply_fix (fixS * fixP, valueT * value, segT segment) default: as_bad_where (fixP->fx_file, fixP->fx_line, "bad or unhandled relocation type: 0x%02x", - fixP->fx_r_type); + (unsigned int) fixP->fx_r_type); break; } - bfd_putb32 (insn, (unsigned char *) buf); + bfd_putb32 (insn, buf); visium_update_parity_bit (buf); break; } @@ -831,8 +830,7 @@ md_atof (int type, char *litP, int *sizeP) { for (i = 0; i < prec; i++) { - md_number_to_chars (litP, (valueT) words[i], - sizeof (LITTLENUM_TYPE)); + md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE)); litP += sizeof (LITTLENUM_TYPE); } } @@ -840,8 +838,7 @@ md_atof (int type, char *litP, int *sizeP) { for (i = prec - 1; i >= 0; i--) { - md_number_to_chars (litP, (valueT) words[i], - sizeof (LITTLENUM_TYPE)); + md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE)); litP += sizeof (LITTLENUM_TYPE); } } @@ -1375,9 +1372,8 @@ md_assemble (char *str0) if (imm < 0 || imm > 31) as_bad ("immediate value out of range"); - opcode |= - (r1 << 10) | (r2 << 16) | (1 << 9) | ((imm & 0x1f) << - 4); + opcode |= ((r1 << 10) | (r2 << 16) | (1 << 9) + | ((imm & 0x1f) << 4)); } else { @@ -1891,9 +1887,8 @@ md_assemble (char *str0) if (finst < 0 || finst > 15) as_bad ("finst out of range"); - opcode |= - ((finst & 0xf) << 27) | (r1 << 10) | (r2 << 16) | (r3 << - 4); + opcode |= (((finst & 0xf) << 27) + | (r1 << 10) | (r2 << 16) | (r3 << 4)); } else { @@ -1957,9 +1952,8 @@ md_assemble (char *str0) if (finst < 0 || finst > 15) as_bad ("finst out of range"); - opcode |= - ((finst & 0xf) << 27) | (r1 << 10) | (r2 << 16) | (r3 << - 4); + opcode |= (((finst & 0xf) << 27) + | (r1 << 10) | (r2 << 16) | (r3 << 4)); } else { |