Annotation of researchv9/cmd/sun/as/error.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char sccsid[] = "@(#)error.c 1.1 86/02/03 Copyr 1984 Sun Micro";
                      3: #endif
                      4: 
                      5: /*
                      6:  * Copyright (c) 1984 by Sun Microsystems, Inc.
                      7:  */
                      8: 
                      9: #include "as.h"
                     10: 
                     11: /*
                     12:  *  routines to write error messages and warnings.
                     13:  */
                     14: 
                     15: 
                     16: char *e_messages[] = {
                     17: /* 0 */                "<unused>",
                     18: /* 1 */                "<unused>",
                     19: /* 2 */                "Invalid character",
                     20: /* 3 */                "Multiply defined symbol",
                     21: /* 4 */                "Symbol storage exceeded",
                     22: /* 5 */                "Offset too large",
                     23: /* 6 */                "Symbol too long",
                     24: /* 7 */                "Undefined symbol",
                     25: /* 8 */                "Invalid constant",
                     26: /* 9 */                "Invalid term",
                     27: /* 10 */       "Invalid operator",
                     28: /* 11 */       "Non-relocatable expression",
                     29: /* 12 */       "Wrong type for instruction",
                     30: /* 13 */       "Invalid operand",
                     31: /* 14 */       "Invalid symbol",
                     32: /* 15 */       "Invalid assignment",
                     33: /* 16 */       "Too many labels",
                     34: /* 17 */       "Invalid op-code",
                     35: /* 18 */       "Invalid entry point",
                     36: /* 19 */       "Invalid string",
                     37: /* 20 */       "Multiply defined symbol (phase error)",
                     38: /* 21 */       "Illegal .align",
                     39: /* 22 */       ".Error statement",
                     40: /* 23 */       "<unused>",
                     41: /* 24 */       "<unused>",
                     42: /* 25 */       "Wrong number of operands",
                     43: /* 26 */       "Line too long",
                     44: /* 27 */       "Invalid register expression",
                     45: /* 28 */       "Invalid machine address",
                     46: /* 29 */       "<unused>",
                     47: /* 30 */       "<unused>",
                     48: /* 31 */       "Missing close-paren `)'",
                     49: /* 32 */       "<unused>",
                     50: /* 33 */       "<unused>",
                     51: /* 34 */       "<unused>",
                     52: /* 35 */       "<unused>",
                     53: /* 36 */       "<unused>",
                     54: /* 37 */       "<unused>",
                     55: /* 38 */       "<unused>",
                     56: /* 39 */       "<unused>",
                     57: /* 40 */       "<unused>",
                     58: /* 41 */       "Obsolete floating point syntax",
                     59: /* 42 */       "Bad csect",
                     60: /* 43 */       "Odd address",
                     61: /* 44 */       "Undefined L-symbol",
                     62: /* 45 */       "Invalid register list",
                     63: /* 46 */       "Unqualified forward reference",
                     64:                0
                     65: } ;
                     66: 
                     67: extern char * asm_name; /* from init.c                  */
                     68: 
                     69: /* Sys_Error is called when a System Error occurs, that is, something is wrong
                     70:    with the assembler itself.  Explanation is a string suitable for a printf
                     71:    control string which explains the error, and Number is the value of the
                     72:    offending parameter.  This routine will not return.
                     73: */
                     74: sys_error(Explanation,Number)
                     75: char *Explanation;
                     76: {
                     77:        fprintf(stderr, "%s: Assembler Error-- ", asm_name);
                     78:        fprintf(stderr, Explanation,Number);
                     79:        exit(-1);
                     80: }
                     81: 
                     82: /* This is called whenever the assembler recognizes an error in the current
                     83: statement. It registers the error, so that an error code will be listed with
                     84: the statement, and a description of the error will be printed at the end of
                     85: the listing */
                     86: 
                     87: prog_error(code)
                     88: register int code;
                     89: {
                     90:        errors++;                       /* increment error count */
                     91:        fprintf(stderr,"%s: error (%s:%d): %s\n",asm_name,
                     92:            source_name[current_file], line_no,e_messages[code]);
                     93: }
                     94: 
                     95: /* Prog_Warning registers a warning on a statement. A warning is like an error,
                     96:        in that something is probably amiss, but the assembler will still try 
                     97:        to generate the .o file. 
                     98: */
                     99: 
                    100: prog_warning(code){
                    101: 
                    102:        if (pass != 2) return;
                    103:        fprintf(stderr,"%s: warning (%s:%d): %s\n",asm_name, source_name[current_file],
                    104:                line_no,e_messages[code]);
                    105: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.