For MS compilers, at warning level 3, there were 18 warnings, and over 200 at warning level 4, which is why the makefile I supplied for MS doesn't have any warning options included. It's easy enough to at least comply with warning level 3-- 14 of the 18 were easy to silence because it was clear the obvious way to silence them was safe. The remaining 4 were all in book_make.cpp, conversion from unsigned __int64 to int which weren't obvious to me they were safe, eg:
Code: Select all
for (index = key & Book->mask; (pos=Book->hash[index]) != NIL; index = (index+1) & Book->mask) {
At some point it's worth getting these cleaned up because they represent potential bugs. It would be nice to get warning level 4 to compile cleanly before any kind of "stable" release.