Clang静态代码分析器'>>'表达式未定义

时间:2015-03-18 17:05:21

标签: c++ clang static-analysis

我有一个非常简单的代码示例,至少对我来说,在clang分析器中会产生令人困惑的结果。

#include <random>
#include <vector>

int main() {
    std::mt19937 rng;
    std::vector<int> collection;
    std::shuffle(begin(collection), end(collection), rng);
}

“'&gt;&gt;'的结果表达式未定义。“

这意味着什么?如何在不使用#ifndef __clang_analyzer__的情况下解决问题?

违规行是std :: shuffle(开始(收集),结束(收集),rng);

然后从<algorithm> line 2840

warning: The result of the '>>' expression is undefined
    __mask0_ = __w0_ > 0 ? _Engine_result_type(~0) >> (_EDt - __w0_) :
                           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1 warning generated.

0 个答案:

没有答案