X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/368f75ae50489f85a5f83f997f050653f48e5d18..b8dce3c7c286678208d27713c5380cfe35867101:/src/cppexp.c diff --git a/src/cppexp.c b/src/cppexp.c index 60f16b0..2cdc8a5 100644 --- a/src/cppexp.c +++ b/src/cppexp.c @@ -809,13 +809,14 @@ left_shift (cppReader *pfile, long a, bool unsignedp, unsigned long b) } else { - long l = int_toNonNegative (a) << b; + /*@-shiftimplementation@*/ + long l = a << b; /* int_toNonNegative removed (allow shifts of negative values) */ # ifdef WIN32 # pragma warning( disable : 4018 ) # endif - if (int_toNonNegative (l) >> b != a) + if (l >> b != a) /* int_toNonNegative removed (allow shifts of negative values) */ { integer_overflow (pfile); } @@ -832,7 +833,8 @@ right_shift (long a, bool unsignedp, unsigned long b) else if (unsignedp) return (unsigned long) a >> b; else - return int_toNonNegative (a) >> b; + return a >> b; /* int_toNonNegative removed (allow shifts of negative values) */ + /*@=shiftimplementation@*/ } /* These priorities are all even, so we can handle associatively. */