no need to promote 0xff00u to long
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 25 Jul 2001 18:14:17 +0000 (18:14 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 25 Jul 2001 18:14:17 +0000 (18:14 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1102 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCval.c

index c197f817a803e9a5bcfd6e5bdfb3a307196e2a0e..51214a5527be2a4db634c3f41a0bb0910261da0d 100644 (file)
@@ -310,8 +310,9 @@ constVal (char *s)
     sval = atol (s);
 
 
-  if (SPEC_LONG (val->type) || sval > 32768)
-    {
+  if (SPEC_LONG (val->type) || 
+      (SPEC_USIGN(val->type) && sval>0xffff) ||
+      (!SPEC_USIGN(val->type) && ((long)sval>32767 || (long)sval<-32768)) {
       if (SPEC_USIGN (val->type))
        SPEC_CVAL (val->type).v_ulong = sval;
       else