diff --git a/gas/ChangeLog b/gas/ChangeLog index 9211426bef..69911d1aa6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,15 @@ +2005-03-01 Alan Modra + + * as.h (assert): Warning fix. + * expr.c (expr): Correct assertion. + * read.c (s_comm_internal): Remove assertion. + * write.c (relax_segment): Enable vma assertion only for BFD_ASSEMBLER. + (fixup_segment): Remove assertion. + * config/tc-dlx.c (machine_ip): Remove untrue assertions. + (md_apply_fix3): Likewise. + * config/tc-i370.c (md_begin): Correct assertion. + (i370_macro): Warning fix for assertion. + 2005-03-01 Alan Modra * configure.in (AC_C_BIGENDIAN): Invoke. diff --git a/gas/as.h b/gas/as.h index a232a4b3ad..3c764f5573 100644 --- a/gas/as.h +++ b/gas/as.h @@ -104,7 +104,8 @@ extern void *alloca (); #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) #define __PRETTY_FUNCTION__ ((char*)0) #endif -#define assert(P) ((P) ? 0 : (as_assert (__FILE__, __LINE__, __PRETTY_FUNCTION__), 0)) +#define assert(P) \ + ((void) ((P) ? 0 : (as_assert (__FILE__, __LINE__, __PRETTY_FUNCTION__), 0))) #undef abort #define abort() as_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) diff --git a/gas/config/tc-dlx.c b/gas/config/tc-dlx.c index 7de8e45226..dcc1c7ad44 100644 --- a/gas/config/tc-dlx.c +++ b/gas/config/tc-dlx.c @@ -972,21 +972,18 @@ machine_ip (str) /* Type 'a' Register. */ case 'a': /* A general register at bits 21-25, rs1. */ - know (operand->X_op != O_register); reg_shift = 21; goto general_reg; /* Type 'b' Register. */ case 'b': /* A general register at bits 16-20, rs2/rd. */ - know (operand->X_op != O_register); reg_shift = 16; goto general_reg; /* Type 'c' Register. */ case 'c': /* A general register at bits 11-15, rd. */ - know (operand->X_op != O_register); reg_shift = 11; general_reg: @@ -1135,9 +1132,6 @@ md_apply_fix3 (fixP, valP, seg) long val = *valP; char *place = fixP->fx_where + fixP->fx_frag->fr_literal; - know (fixP->fx_size == 4); - know (fixP->fx_r_type < NO_RELOC); - switch (fixP->fx_r_type) { case RELOC_DLX_LO16: diff --git a/gas/config/tc-i370.c b/gas/config/tc-i370.c index 29b40954c1..813fd63f17 100644 --- a/gas/config/tc-i370.c +++ b/gas/config/tc-i370.c @@ -588,7 +588,8 @@ md_begin () op_end = i370_opcodes + i370_num_opcodes; for (op = i370_opcodes; op < op_end; op++) { - know ((op->opcode & op->mask) == op->opcode); + know ((op->opcode.i[0] & op->mask.i[0]) == op->opcode.i[0] + && (op->opcode.i[1] & op->mask.i[1]) == op->opcode.i[1]); if ((op->flags & i370_cpu) != 0) { @@ -2422,7 +2423,7 @@ i370_macro (str, macro) else { arg = strtol (format + 1, &send, 10); - know (send != format && arg >= 0 && arg < count); + know (send != format && arg >= 0 && (unsigned) arg < count); len += strlen (operands[arg]); format = send; } diff --git a/gas/expr.c b/gas/expr.c index 460a8372dd..49517c57e2 100644 --- a/gas/expr.c +++ b/gas/expr.c @@ -1716,7 +1716,7 @@ expr (int rankarg, /* Larger # is higher rank. */ know (op_right == O_illegal || op_rank[(int) op_right] <= op_rank[(int) op_left]); know ((int) op_left >= (int) O_multiply - && (int) op_left <= (int) O_logical_or); + && (int) op_left <= (int) O_index); /* input_line_pointer->after right-hand quantity. */ /* left-hand quantity in resultP. */ diff --git a/gas/read.c b/gas/read.c index 3c5734b223..f2b01be804 100644 --- a/gas/read.c +++ b/gas/read.c @@ -1472,7 +1472,6 @@ s_comm_internal (int param, #endif } - know (symbolP == NULL || symbolP->sy_frag == &zero_address_frag); demand_empty_rest_of_line (); out: if (flag_mri) diff --git a/gas/write.c b/gas/write.c index c0749e8760..69c6229865 100644 --- a/gas/write.c +++ b/gas/write.c @@ -2395,7 +2395,9 @@ relax_segment (struct frag *segment_frag_root, segT segment) into the section. Here it is assumed that the section's VMA is zero, and can omit subtracting it from the symbol's value to get the address offset. */ - know (S_GET_SECTION (symbolP)->vma == 0); +#ifdef BFD_ASSEMBLER + know (S_GET_SEGMENT (symbolP)->vma == 0); +#endif target += S_GET_VALUE (symbolP) * OCTETS_PER_BYTE; } @@ -2583,7 +2585,6 @@ fixup_segment (fixS *fixP, segT this_segment) if (fixP->fx_addsy != NULL && symbol_mri_common_p (fixP->fx_addsy)) { - know (fixP->fx_addsy->sy_value.X_op == O_symbol); add_number += S_GET_VALUE (fixP->fx_addsy); fixP->fx_offset = add_number; fixP->fx_addsy