* src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for compl...
[fw/sdcc] / src / SDCCicode.c
index 3364eecf87dede007a92f8104ad4bd76bb81f318..aec706a18c4a049623e80b54676c2d3f5cbb4d91 100644 (file)
@@ -1311,7 +1311,9 @@ operandOperation (operand * left, operand * right,
       break;
 
     case '~':
-      retval = operandFromLit (~((TYPE_UDWORD) operandLitValue (left)));
+      retval = operandFromValue (valCastLiteral (type,
+                                                 ~((TYPE_UDWORD)
+                                                   operandLitValue (left))));
       break;
 
     case '!':