Flag error if absolute constant is too large for an immediate field.
[deliverable/binutils-gdb.git] / gas / config / tc-a29k.c
index 62b50634e0eb36cc789d1a19a03b8eed2f67378e..5d7c0465c87c6925f617351be87ae393b20d584d 100644 (file)
@@ -80,7 +80,10 @@ const pseudo_typeS
            { "reg",    s_lsym,         0 },    /* Register equate, same as equ */
            { "space",  s_ignore,       0 },    /* Listing control */
            { "sect",   s_ignore,       0 },    /* Creation of coff sections */
+#ifndef OBJ_COFF
+ /* We can do this right with coff */
            { "use",    s_use,          0 },
+#endif
            { "word",   cons,           4 },
            { NULL,     0,              0 },
     };
@@ -365,34 +368,18 @@ char *
 char *s;
 expressionS *operandp;
 {
-       char *save = input_line_pointer;
-       char *new;
-       segT seg;
-       
-       input_line_pointer = s;
-       seg = expr (0, operandp);
-       new = input_line_pointer;
-       input_line_pointer = save;
+  char *save = input_line_pointer;
+  char *new;
+  segT seg;
        
-       switch (seg) {
-       case SEG_ABSOLUTE:
-       case SEG_TEXT:
-       case SEG_DATA:
-       case SEG_BSS:
-       case SEG_UNKNOWN:
-       case SEG_DIFFERENCE:
-       case SEG_BIG:
-       case SEG_REGISTER:
-               return new;
-               
-       case SEG_ABSENT:
-               as_bad("Missing operand");
-               return new;
-               
-       default:
-               as_bad("Don't understand operand of type %s", segment_name (seg));
-               return new;
-       }
+  input_line_pointer = s;
+  seg = expr (0, operandp);
+  new = input_line_pointer;
+  input_line_pointer = save;
+
+  if (seg == SEG_ABSENT)       
+   as_bad("Missing operand");
+  return new;
 }
 
 /* Instruction parsing.  Takes a string containing the opcode.  
@@ -871,7 +858,7 @@ fixS *fixP;
        case RELOC_CONSTH: return (R_IHIHALF);
        case RELOC_JUMPTARG: return (R_IREL);
        default:        printf("need %o3\n", fixP->fx_r_type);
-               abort(0);
+               abort();
        } /* switch on type */
        
        return(0);
This page took 0.026177 seconds and 4 git commands to generate.