Cleared UBSan warnings reported by Jonathan Wakely. Cleared many issues reported in GitHub Issue 4 (its a rollup of -fsanitize=undefined)

reviewable/pr7/r1
Jeffrey Walton 2015-07-13 20:37:34 -04:00
parent c6abf130eb
commit b5ed163c87
1 changed files with 2 additions and 2 deletions

4
misc.h
View File

@ -632,13 +632,13 @@ template <class T> inline T rotrVariable(T x, unsigned int y)
template <class T> inline T rotlMod(T x, unsigned int y)
{
y %= sizeof(T)*8;
return T((x<<y) | (x>>(sizeof(T)*8-y)));
return T((x<<y) | (x>>((sizeof(T)*8-y) % (sizeof(T)*8))));
}
template <class T> inline T rotrMod(T x, unsigned int y)
{
y %= sizeof(T)*8;
return T((x>>y) | (x<<(sizeof(T)*8-y)));
return T((x>>y) | (x<<((sizeof(T)*8-y) % (sizeof(T)*8))));
}
#ifdef _MSC_VER