fix unsigned < 0 warning on clang