# include <string.h>
# include "splintMacros.nf"
-# include "llbasic.h"
+# include "basic.h"
# include "cpplib.h"
# include "cpphash.h"
# include "cppexp.h"
if (overflow)
{
- /*@i23 add flags for all these...*/
cppReader_pedwarnLit
(pfile,
cstring_makeLiteralTemp ("Integer constant out of range"));
}
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);
}
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. */