Fix double-const warnings on clang
Fix implicit narrowing
Define static_assert for clang
Remove gcc-only warning
Add some missing initializer fields