Removed all warnings from as and link
[fw/sdcc] / as / z80 / asexpr.c
index f610022ec7f998cbb5c9bc268fb94e99223c24e0..2664550db4d31b42763ae8ef2cb8eaabcf85c05b 100644 (file)
@@ -12,7 +12,7 @@
 #include <stdio.h>
 #include <setjmp.h>
 #include <string.h>
-#include <alloc.h>
+
 #include "asm.h"
 
 /*)Module      asexpr.c
@@ -28,7 +28,7 @@
  *
  *     asexpr.c contains the following functions:
  *             VOID    abscheck()
- *             addr_t  absexpr()
+ *             Addr_T  absexpr()
  *             VOID    clrexpr()
  *             int     digit()
  *             VOID    expr()
@@ -84,7 +84,7 @@ expr(esp, n)
 register struct expr *esp;
 int n;
 {
-        register c, d, p;
+        register int c, p;
         struct area *ap;
         struct expr re;
 
@@ -186,7 +186,7 @@ int n;
         unget(c);
 }
 
-/*)Function    addr_t  absexpr()
+/*)Function    Addr_T  absexpr()
  *
  *     The function absexpr() evaluates an expression, verifies it
  *     is absolute (i.e. not position dependent or relocatable), and
@@ -208,7 +208,7 @@ int n;
  *             a 'r' error is reported.
  */
 
-addr_t
+Addr_T
 absexpr()
 {
         struct expr e;
@@ -268,12 +268,12 @@ VOID
 term(esp)
 register struct expr *esp;
 {
-        register c, n;
+        register int c, n;
         register char *jp;
         char id[NCPS];
         struct sym  *sp;
         struct tsym *tp;
-        int r, v;
+        int r = 0, v;
 
         c = getnb();
        /*
@@ -295,7 +295,7 @@ register struct expr *esp;
         if (c == '-') {
                 expr(esp, 100);
                 abscheck(esp);
-                esp->e_addr = -esp->e_addr;
+                esp->e_addr = 0 - esp->e_addr;
                 return;
         }
         if (c == '~') {
@@ -347,7 +347,7 @@ register struct expr *esp;
         if (ctype[c] & DIGIT) {
                 esp->e_mode = S_USER;
                 jp = ip;
-                while (ctype[*jp] & RAD10) {
+                 while (ctype[(unsigned char)(*jp)] & RAD10) {
                         jp++;
                 }
                 if (*jp == '$') {
@@ -498,7 +498,7 @@ register struct expr *esp;
 
 int
 digit(c, r)
-register c, r;
+register int c, r;
 {
         if (r == 16) {
                 if (ctype[c] & RAD16) {
@@ -619,7 +619,7 @@ register struct expr *esp;
  
 int
 oprio(c)
-register c;
+register int c;
 {
         if (c == '*' || c == '/' || c == '%')
                 return (10);