Index: src/cil.ml
===================================================================
--- src/cil.ml	(revision 12103)
+++ src/cil.ml	(working copy)
@@ -1684,7 +1684,9 @@
        * large positive ones *)
       if i < Int64.zero && (not (isSigned ik)) then
         let high = Int64.shift_right i 32 in
-        if ik <> IULongLong && ik <> ILongLong && high = Int64.of_int (-1) then
+        if ik <> IULongLong && ik <> ILongLong
+	    && not ((ik = IULong || ik = ILong) && !M.theMachine.M.sizeof_long > 4)
+	    && high = Int64.of_int (-1) then
           (* Print only the low order 32 bits *)
           text (prefix ^ "0x" ^ 
                 (Int64.format "%x" 
