diff --git a/gas/ChangeLog b/gas/ChangeLog index 60ed055e9b..aeece7bb47 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Mon Sep 8 12:33:40 1997 Nick Clifton + + * config/tc-v850.c (v850_insert_operand): Add + -mwarn_unsigned_overflow. + Mon Sep 8 11:20:46 1997 Ian Lance Taylor * as.h: Don't declare alloca if it is a macro. diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c index 6d708c51cf..6bf5c2c94e 100644 --- a/gas/config/tc-v850.c +++ b/gas/config/tc-v850.c @@ -32,6 +32,7 @@ static bfd_reloc_code_real_type hold_cons_reloc; /* Set to TRUE if we want to be pedantic about signed overflows. */ static boolean warn_signed_overflows = FALSE; +static boolean warn_unsigned_overflows = FALSE; /* Structure to hold information about predefined registers. */ @@ -776,6 +777,12 @@ md_parse_option (c, arg) return 1; } + if (c == 'w' && strcmp (arg, "unsigned_overflow") == 0) + { + warn_unsigned_overflows = TRUE; + return 1; + } + return 0; } @@ -1646,7 +1653,11 @@ v850_insert_operand (insn, operand, val, file, line) else { max = (1 << operand->bits) - 1; - min = 0; + + if (! warn_unsigned_overflows) + min = - (1 << (operand->bits - 1)); + else + min = 0; } test = val;