PVS Studioから次のエラーが表示されます V669 'fetch_mask'引数は定数ではありません。アナライザは、この引数が変更されている位置を特定することができません。関数にエラーが含まれている可能性があります。アナライザが位置を特定できません
これはラインである:
XXH64_state_t* hash_state, uint32_t& fetch_mask
私は、エラーを把握しては&がfetch_maskの一部ではありませんでした私はそれが好きな固定:
XXH64_state_t* hash_state, uint32_t &fetch_mask
エラーが消えます。しかし、travis.clテストは私が再フォーマットして失敗する必要があると言います。
問題の元のコードが見つかりました。
void TextureCache::HashTextureBindings(
XXH64_state_t* hash_state, uint32_t& fetch_mask,
const std::vector<Shader::TextureBinding>& bindings) {
for (auto& binding : bindings) {
uint32_t fetch_bit = 1 << binding.fetch_constant;
if (fetch_mask & fetch_bit) {
void HashTextureBindings(XXH64_state_t* hash_state, uint32_t& fetch_mask,
const std::vector<Shader::TextureBinding>& bindings);
私はのuint32_t fetch_maskことになっていると思うので、私は& fetch_mask
このコードはどのコンテキストに表示されますか?それは本当に奇妙に思える。 – tadman
私はuint32_tとfetch_maskをuint32_t fetch_maskで削除したと思う。私は今それを修正するかどうかを確認するためにコンパイルしています。 –
エラーが消えてしまったので、それは問題だと思います。私はプログラマーがエラーを起こしたと思います –