Adding sdcclib to the build.
[fw/sdcc] / src / SDCCicode.c
index e4e54e7c68ea7121a7642fdb7e7e55b646e30416..7eea91c05e319efb8672eaeb546a19939c3ceaeb 100644 (file)
@@ -1143,16 +1143,19 @@ operandOperation (operand * left, operand * right,
                               operandLitValue (right));
       break;
     case BITWISEAND:
-      retval = operandFromLit ((unsigned long)operandLitValue(left) & 
-                              (unsigned long)operandLitValue(right));
+      retval = operandFromValue (valCastLiteral (type,
+                                                 (unsigned long)operandLitValue(left) &
+                                                (unsigned long)operandLitValue(right)));
       break;
     case '|':
-      retval = operandFromLit ((unsigned long)operandLitValue (left) |
-                              (unsigned long)operandLitValue (right));
+      retval = operandFromValue (valCastLiteral (type,
+                                                 (unsigned long)operandLitValue(left) |
+                                                (unsigned long)operandLitValue(right)));
       break;
     case '^':
-      retval = operandFromLit ((unsigned long)operandLitValue (left) ^
-                              (unsigned long)operandLitValue (right));
+      retval = operandFromValue (valCastLiteral (type,
+                                                 (unsigned long)operandLitValue(left) ^
+                                                (unsigned long)operandLitValue(right)));
       break;
     case AND_OP:
       retval = operandFromLit (operandLitValue (left) &&