Added -mwarn_unsigned_overflow so that defuault is to treat unsigned
authorNick Clifton <nickc@redhat.com>
Mon, 8 Sep 1997 19:32:05 +0000 (19:32 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 8 Sep 1997 19:32:05 +0000 (19:32 +0000)
values as signed values if they start to overflow.

gas/ChangeLog
gas/config/tc-v850.c

index 60ed055..aeece7b 100644 (file)
@@ -1,3 +1,8 @@
+Mon Sep  8 12:33:40 1997  Nick Clifton  <nickc@cygnus.com>
+
+       * config/tc-v850.c (v850_insert_operand): Add
+       -mwarn_unsigned_overflow. 
+
 Mon Sep  8 11:20:46 1997  Ian Lance Taylor  <ian@cygnus.com>
 
        * as.h: Don't declare alloca if it is a macro.
index 6d708c5..6bf5c2c 100644 (file)
@@ -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;
 
 \f
 /* 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;