a ppc endian fix
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 11 Oct 2001 13:41:47 +0000 (13:41 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 11 Oct 2001 13:41:47 +0000 (13:41 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1387 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCicode.c
src/SDCCval.c

index 0adff9fbe2ad7778f8e4e96716570cbabd115a75..62b3a119b11e94d8141a84a725a0f57bac9940f2 100644 (file)
@@ -136,7 +136,14 @@ void checkConstantRange(sym_link *ltype, value *val, char *msg, int pedantic) {
   char message[132]="";
   int warnings=0;
   int negative=0;
-  long v=SPEC_CVAL(val->type).v_long;
+  long v;
+
+  if (SPEC_LONG(val->type)) {
+    v=SPEC_CVAL(val->type).v_long;
+  } else {
+    v=SPEC_CVAL(val->type).v_int;
+  }
+
 
 #if 0
   // this could be a good idea
index 819b8144e0ed6af3ac8274f8ab35a14c02572aba..04fd633c32cdf666833ff22f14b07ef8eb5a6be5 100644 (file)
@@ -827,7 +827,7 @@ charVal (char *s)
        }
     }
   else                         /* not a backslash */
-    SPEC_CVAL (val->type).v_int = (unsigned char)*s;
+    SPEC_CVAL (val->type).v_uint = (unsigned char)*s;
 
   return val;
 }